/*
    Copyright (c) 2008-2013 NetAllied Systems GmbH

    This file is part of COLLADASaxFrameworkLoader.

    Licensed under the MIT Open Source License,
    for details please see LICENSE file or the website
    http://www.opensource.org/licenses/mit-license.php
*/

#include "COLLADASaxFWLStableHeaders.h"
#include "COLLADASaxFWLColladaParserAutoGen14Private.h"


// disable warning "unused variable"
#if defined(__INTEL_COMPILER) && !defined(WIN32)
template <typename T>
inline void disable_warning_unused(T &x) { (void)x; }
#    define DISABLE_WARNING_UNUSED(x) disable_warning_unused(x);
#else
#    define DISABLE_WARNING_UNUSED(x) (void)x;
#endif



namespace COLLADASaxFWL14
{


#ifdef GENERATEDSAXPARSER_VALIDATION


//---------------------------------------------------------------------
const int PCRE_OVECCOUNT = 30;    /* should be a multiple of 3 */

//---------------------------------------------------------------------
ParserError::ErrorType validate__VersionType( ParserString value )
{
    return validate__VersionType( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__VersionType( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__VersionType__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__VersionType__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__COLLADA( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* validationData = (COLLADA__ValidationData*)mValidationDataStack.newObject(sizeof(COLLADA__ValidationData));
        memset(validationData, 0, sizeof(COLLADA__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__COLLADA()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* validationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ASSET) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (validationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) || (validationData->validation_current_state == HASH_ELEMENT_SCENE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_COLLADA, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__asset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 188:
        {
        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 23:
        {
        animation__ValidationData* parentValidationData = (animation__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 402:
        {
        animation_clip__ValidationData* parentValidationData = (animation_clip__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_animation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: instance_animation" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 475:
        {
        camera__ValidationData* parentValidationData = (camera__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->optics != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: optics" ) )
                return false;
        }
        if ( parentValidationData->imager != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: imager" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 290:
        {
        controller__ValidationData* parentValidationData = (controller__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 487:
        {
        effect__ValidationData* parentValidationData = (effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->annotate != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: annotate" ) )
                return false;
        }
        if ( parentValidationData->image != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: image" ) )
                return false;
        }
        if ( parentValidationData->newparam != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: newparam" ) )
                return false;
        }
        if ( parentValidationData->fx_profile_abstract != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: fx_profile_abstract" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 515:
        {
        extra__ValidationData* parentValidationData = (extra__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 505:
        {
        force_field__ValidationData* parentValidationData = (force_field__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 183:
        {
        geometry__ValidationData* parentValidationData = (geometry__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 28:
        {
        image__ValidationData* parentValidationData = (image__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 222:
        {
        library_animation_clips__ValidationData* parentValidationData = (library_animation_clips__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->animation_clip != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: animation_clip" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 354:
        {
        library_animations__ValidationData* parentValidationData = (library_animations__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->animation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: animation" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 172:
        {
        library_cameras__ValidationData* parentValidationData = (library_cameras__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->camera != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: camera" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 513:
        {
        library_controllers__ValidationData* parentValidationData = (library_controllers__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->controller != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: controller" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 494:
        {
        library_effects__ValidationData* parentValidationData = (library_effects__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->effect != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: effect" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 173:
        {
        library_force_fields__ValidationData* parentValidationData = (library_force_fields__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->force_field != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: force_field" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 129:
        {
        library_geometries__ValidationData* parentValidationData = (library_geometries__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->geometry != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: geometry" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 73:
        {
        library_images__ValidationData* parentValidationData = (library_images__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->image != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: image" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 178:
        {
        library_lights__ValidationData* parentValidationData = (library_lights__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->light != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: light" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 207:
        {
        library_materials__ValidationData* parentValidationData = (library_materials__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->material != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: material" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 433:
        {
        library_nodes__ValidationData* parentValidationData = (library_nodes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->node != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: node" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 599:
        {
        library_physics_materials__ValidationData* parentValidationData = (library_physics_materials__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->physics_material != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: physics_material" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 97:
        {
        library_physics_models__ValidationData* parentValidationData = (library_physics_models__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->physics_model != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: physics_model" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 105:
        {
        library_physics_scenes__ValidationData* parentValidationData = (library_physics_scenes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->physics_scene != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: physics_scene" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 584:
        {
        library_visual_scenes__ValidationData* parentValidationData = (library_visual_scenes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->visual_scene != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: visual_scene" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 81:
        {
        light__ValidationData* parentValidationData = (light__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 394:
        {
        material__ValidationData* parentValidationData = (material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_effect != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: instance_effect" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 87:
        {
        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 179:
        {
        physics_material__ValidationData* parentValidationData = (physics_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 586:
        {
        physics_model__ValidationData* parentValidationData = (physics_model__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->rigid_body != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: rigid_body" ) )
                return false;
        }
        if ( parentValidationData->rigid_constraint != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: rigid_constraint" ) )
                return false;
        }
        if ( parentValidationData->instance_physics_model != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: instance_physics_model" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 532:
        {
        physics_scene__ValidationData* parentValidationData = (physics_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_force_field != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: instance_force_field" ) )
                return false;
        }
        if ( parentValidationData->instance_physics_model != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: instance_physics_model" ) )
                return false;
        }
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        case 534:
        {
        profile_CG__ValidationData* parentValidationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 460:
        {
        profile_COMMON__ValidationData* parentValidationData = (profile_COMMON__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 393:
        {
        profile_GLES__ValidationData* parentValidationData = (profile_GLES__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 286:
        {
        profile_GLSL__ValidationData* parentValidationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 130:
        {
        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 318:
        {
        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 319:
        {
        profile_GLES__technique__ValidationData* parentValidationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASSET;
        }
//        parentValidationData->asset++;

        break;
        }

        case 506:
        {
        visual_scene__ValidationData* parentValidationData = (visual_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->node != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: node" ) )
                return false;
        }
        if ( parentValidationData->evaluate_scene != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: evaluate_scene" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ASSET, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->asset >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ASSET, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->asset++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        asset__ValidationData* validationData = (asset__ValidationData*)mValidationDataStack.newObject(sizeof(asset__ValidationData));
        memset(validationData, 0, sizeof(asset__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__asset()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* validationData = (asset__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->created < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ASSET, (const ParserChar*)0, "child: created" ) )
                return false;
        }
        if ( validationData->modified < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ASSET, (const ParserChar*)0, "child: modified" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__contributor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->created != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: created" ) )
                return false;
        }
        if ( parentValidationData->keywords != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: keywords" ) )
                return false;
        }
        if ( parentValidationData->modified != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->revision != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: revision" ) )
                return false;
        }
        if ( parentValidationData->subject != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: subject" ) )
                return false;
        }
        if ( parentValidationData->title != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: title" ) )
                return false;
        }
        if ( parentValidationData->unit != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: unit" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTRIBUTOR, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        parentValidationData->contributor++;

        contributor__ValidationData* validationData = (contributor__ValidationData*)mValidationDataStack.newObject(sizeof(contributor__ValidationData));
        memset(validationData, 0, sizeof(contributor__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__contributor()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        contributor__ValidationData* validationData = (contributor__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__author( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        contributor__ValidationData* parentValidationData = (contributor__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->authoring_tool != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AUTHOR, (const ParserChar*)0, "sibling: authoring_tool" ) )
                return false;
        }
        if ( parentValidationData->comments != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AUTHOR, (const ParserChar*)0, "sibling: comments" ) )
                return false;
        }
        if ( parentValidationData->copyright != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AUTHOR, (const ParserChar*)0, "sibling: copyright" ) )
                return false;
        }
        if ( parentValidationData->source_data != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AUTHOR, (const ParserChar*)0, "sibling: source_data" ) )
                return false;
        }
        if ( parentValidationData->author >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_AUTHOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->author++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__author()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__authoring_tool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        contributor__ValidationData* parentValidationData = (contributor__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->comments != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AUTHORING_TOOL, (const ParserChar*)0, "sibling: comments" ) )
                return false;
        }
        if ( parentValidationData->copyright != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AUTHORING_TOOL, (const ParserChar*)0, "sibling: copyright" ) )
                return false;
        }
        if ( parentValidationData->source_data != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AUTHORING_TOOL, (const ParserChar*)0, "sibling: source_data" ) )
                return false;
        }
        if ( parentValidationData->authoring_tool >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_AUTHORING_TOOL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->authoring_tool++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__authoring_tool()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__comments( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        contributor__ValidationData* parentValidationData = (contributor__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->copyright != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COMMENTS, (const ParserChar*)0, "sibling: copyright" ) )
                return false;
        }
        if ( parentValidationData->source_data != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COMMENTS, (const ParserChar*)0, "sibling: source_data" ) )
                return false;
        }
        if ( parentValidationData->comments >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COMMENTS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->comments++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__comments()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__copyright( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        contributor__ValidationData* parentValidationData = (contributor__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source_data != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COPYRIGHT, (const ParserChar*)0, "sibling: source_data" ) )
                return false;
        }
        if ( parentValidationData->copyright >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COPYRIGHT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->copyright++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__copyright()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__source_data( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        contributor__ValidationData* parentValidationData = (contributor__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source_data >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE_DATA, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source_data++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__source_data()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__created( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->keywords != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CREATED, (const ParserChar*)0, "sibling: keywords" ) )
                return false;
        }
        if ( parentValidationData->modified != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CREATED, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->revision != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CREATED, (const ParserChar*)0, "sibling: revision" ) )
                return false;
        }
        if ( parentValidationData->subject != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CREATED, (const ParserChar*)0, "sibling: subject" ) )
                return false;
        }
        if ( parentValidationData->title != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CREATED, (const ParserChar*)0, "sibling: title" ) )
                return false;
        }
        if ( parentValidationData->unit != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CREATED, (const ParserChar*)0, "sibling: unit" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CREATED, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        if ( parentValidationData->created >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_CREATED, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->created++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__created()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__keywords( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->created < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, "sibling: created" ) )
                return false;
        }
        if ( parentValidationData->modified != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->revision != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, "sibling: revision" ) )
                return false;
        }
        if ( parentValidationData->subject != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, "sibling: subject" ) )
                return false;
        }
        if ( parentValidationData->title != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, "sibling: title" ) )
                return false;
        }
        if ( parentValidationData->unit != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, "sibling: unit" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        if ( parentValidationData->keywords >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_KEYWORDS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->keywords++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__keywords()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__modified( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->created < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MODIFIED, (const ParserChar*)0, "sibling: created" ) )
                return false;
        }
        if ( parentValidationData->revision != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MODIFIED, (const ParserChar*)0, "sibling: revision" ) )
                return false;
        }
        if ( parentValidationData->subject != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MODIFIED, (const ParserChar*)0, "sibling: subject" ) )
                return false;
        }
        if ( parentValidationData->title != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MODIFIED, (const ParserChar*)0, "sibling: title" ) )
                return false;
        }
        if ( parentValidationData->unit != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MODIFIED, (const ParserChar*)0, "sibling: unit" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MODIFIED, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        if ( parentValidationData->modified >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MODIFIED, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->modified++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__modified()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__revision( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->modified < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_REVISION, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->subject != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REVISION, (const ParserChar*)0, "sibling: subject" ) )
                return false;
        }
        if ( parentValidationData->title != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REVISION, (const ParserChar*)0, "sibling: title" ) )
                return false;
        }
        if ( parentValidationData->unit != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REVISION, (const ParserChar*)0, "sibling: unit" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REVISION, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        if ( parentValidationData->revision >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REVISION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->revision++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__revision()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__subject( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->modified < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_SUBJECT, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->title != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SUBJECT, (const ParserChar*)0, "sibling: title" ) )
                return false;
        }
        if ( parentValidationData->unit != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SUBJECT, (const ParserChar*)0, "sibling: unit" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SUBJECT, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        if ( parentValidationData->subject >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SUBJECT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->subject++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__subject()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__title( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->modified < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TITLE, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->unit != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TITLE, (const ParserChar*)0, "sibling: unit" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TITLE, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        if ( parentValidationData->title >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TITLE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->title++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__title()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NMTOKEN( ParserString value )
{
    return validate__NMTOKEN( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NMTOKEN( const ParserChar* value, size_t length )
{
// regular expression: "^([A-Z]|[_]|[a-z]|[:]|[-]|[.]|[0-9])+$"
static const COLLADABU::PcreCompiledPattern compiledPattern("^([A-Z]|[_]|[a-z]|[:]|[-]|[.]|[0-9])+$");
pcre* pattern = compiledPattern.getCompiledPattern();
int ovector[ PCRE_OVECCOUNT ];
int pcre_result = pcre_exec(
    pattern,
    0,
    value,
    (int)length,
    0,
    0,
    ovector,
    PCRE_OVECCOUNT);
if (pcre_result < 0)
    return ParserError::ERROR_VALIDATION_PATTERN;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NMTOKEN__stream( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NMTOKEN__streamEnd( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__unit( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->modified < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_UNIT, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->up_axis != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_UNIT, (const ParserChar*)0, "sibling: up_axis" ) )
                return false;
        }
        if ( parentValidationData->unit >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_UNIT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->unit++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__unit()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__UpAxisType( ParserString value )
{
    return validate__UpAxisType( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__UpAxisType( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__UpAxisType__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__UpAxisType__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__up_axis( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        asset__ValidationData* parentValidationData = (asset__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->modified < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_UP_AXIS, (const ParserChar*)0, "sibling: modified" ) )
                return false;
        }
        if ( parentValidationData->up_axis >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_UP_AXIS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->up_axis++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__up_axis()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NCName( ParserString value )
{
    return validate__NCName( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NCName( const ParserChar* value, size_t length )
{
// regular expression: "^([A-Z]|[_]|[a-z])([A-Z]|[_]|[a-z]|[-]|[.]|[0-9])*$"
static const COLLADABU::PcreCompiledPattern compiledPattern("^([A-Z]|[_]|[a-z])([A-Z]|[_]|[a-z]|[-]|[.]|[0-9])*$");
pcre* pattern = compiledPattern.getCompiledPattern();
int ovector[ PCRE_OVECCOUNT ];
int pcre_result = pcre_exec(
    pattern,
    0,
    value,
    (int)length,
    0,
    0,
    ovector,
    PCRE_OVECCOUNT);
if (pcre_result < 0)
    return ParserError::ERROR_VALIDATION_PATTERN;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NCName__stream( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NCName__streamEnd( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_animations( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_ANIMATIONS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_ANIMATIONS;
        }
//        parentValidationData->library_animations++;

        library_animations__ValidationData* validationData = (library_animations__ValidationData*)mValidationDataStack.newObject(sizeof(library_animations__ValidationData));
        memset(validationData, 0, sizeof(library_animations__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_animations()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_animations__ValidationData* validationData = (library_animations__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->animation < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_ANIMATIONS, (const ParserChar*)0, "child: animation" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__animation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 23:
        {
        animation__ValidationData* parentValidationData = (animation__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANIMATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CHANNEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_SOURCE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANIMATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANIMATION;
        }
//        parentValidationData->animation++;

        break;
        }

        case 354:
        {
        library_animations__ValidationData* parentValidationData = (library_animations__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ANIMATION, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->animation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        animation__ValidationData* validationData = (animation__ValidationData*)mValidationDataStack.newObject(sizeof(animation__ValidationData));
        memset(validationData, 0, sizeof(animation__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__animation()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        animation__ValidationData* validationData = (animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ANIMATION) || (validationData->validation_current_state == HASH_ELEMENT_CHANNEL) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_ANIMATION, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__source( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 23:
        {
        animation__ValidationData* parentValidationData = (animation__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_SOURCE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SOURCE;
        }
//        parentValidationData->source++;

        break;
        }

        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SOURCE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SOURCE;
        }
//        parentValidationData->source++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SOURCE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SOURCE;
        }
//        parentValidationData->source++;

        break;
        }

        case 591:
        {
        morph__ValidationData* parentValidationData = (morph__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->targets != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: targets" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 576:
        {
        skin__ValidationData* parentValidationData = (skin__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->joints != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: joints" ) )
                return false;
        }
        if ( parentValidationData->vertex_weights != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: vertex_weights" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 185:
        {
        spline__ValidationData* parentValidationData = (spline__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->control_vertices != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: control_vertices" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        source__ValidationData* validationData = (source__ValidationData*)mValidationDataStack.newObject(sizeof(source__ValidationData));
        memset(validationData, 0, sizeof(source__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__source()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        source__ValidationData* validationData = (source__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ASSET) || (validationData->validation_current_state == HASH_ELEMENT_BOOL_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_IDREF_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_INT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_NAME_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) || (validationData->validation_current_state == HASH_ELEMENT_TECHNIQUE_COMMON) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__IDREFS( const ParserString*value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__IDREFS__stream( const ParserString*value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__IDREFS__streamEnd( const ParserString*value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__IDREF_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IDREF_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IDREF_ARRAY;
        }
//        parentValidationData->IDREF_array++;

        IDREF_array__ValidationData* validationData = (IDREF_array__ValidationData*)mValidationDataStack.newObject(sizeof(IDREF_array__ValidationData));
        memset(validationData, 0, sizeof(IDREF_array__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__IDREF_array()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__Name( ParserString value )
{
    return validate__Name( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__Name( const ParserChar* value, size_t length )
{
// regular expression: "^([A-Z]|[_]|[a-z]|[:])([A-Z]|[_]|[a-z]|[:]|[-]|[.]|[0-9])*$"
static const COLLADABU::PcreCompiledPattern compiledPattern("^([A-Z]|[_]|[a-z]|[:])([A-Z]|[_]|[a-z]|[:]|[-]|[.]|[0-9])*$");
pcre* pattern = compiledPattern.getCompiledPattern();
int ovector[ PCRE_OVECCOUNT ];
int pcre_result = pcre_exec(
    pattern,
    0,
    value,
    (int)length,
    0,
    0,
    ovector,
    PCRE_OVECCOUNT);
if (pcre_result < 0)
    return ParserError::ERROR_VALIDATION_PATTERN;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__Name__stream( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__Name__streamEnd( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__Name_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NAME_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NAME_ARRAY;
        }
//        parentValidationData->Name_array++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__Name_array()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL_ARRAY;
        }
//        parentValidationData->bool_array++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool_array()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT_ARRAY;
        }
//        parentValidationData->float_array++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float_array()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT_ARRAY;
        }
//        parentValidationData->int_array++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int_array()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__animation__source__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_IDREF_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_NAME_ARRAY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TECHNIQUE_COMMON;
        }
//        parentValidationData->technique_common++;

        animation__source__technique_common__ValidationData* validationData = (animation__source__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(animation__source__technique_common__ValidationData));
        memset(validationData, 0, sizeof(animation__source__technique_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__animation__source__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        animation__source__technique_common__ValidationData* validationData = (animation__source__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->accessor < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: accessor" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__accessor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        animation__source__technique_common__ValidationData* parentValidationData = (animation__source__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->accessor >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ACCESSOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->accessor++;

        accessor__ValidationData* validationData = (accessor__ValidationData*)mValidationDataStack.newObject(sizeof(accessor__ValidationData));
        memset(validationData, 0, sizeof(accessor__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__accessor()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        accessor__ValidationData* validationData = (accessor__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 406:
        {
        accessor__ValidationData* parentValidationData = (accessor__ValidationData*)mValidationDataStack.top();
        parentValidationData->param++;

        break;
        }

        case 562:
        {
        bind_material__ValidationData* parentValidationData = (bind_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__param()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 562:
        {
        bind_material__ValidationData* parentValidationData = (bind_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 515:
        {
        extra__ValidationData* parentValidationData = (extra__ValidationData*)mValidationDataStack.top();
        parentValidationData->technique++;

        break;
        }

        case 505:
        {
        force_field__ValidationData* parentValidationData = (force_field__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 596:
        {
        imager__ValidationData* parentValidationData = (imager__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 201:
        {
        instance_rigid_body__ValidationData* parentValidationData = (instance_rigid_body__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 81:
        {
        light__ValidationData* parentValidationData = (light__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 230:
        {
        optics__ValidationData* parentValidationData = (optics__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 179:
        {
        physics_material__ValidationData* parentValidationData = (physics_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 532:
        {
        physics_scene__ValidationData* parentValidationData = (physics_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 92:
        {
        rigid_body__ValidationData* parentValidationData = (rigid_body__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 19:
        {
        rigid_constraint__ValidationData* parentValidationData = (rigid_constraint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique++;

        break;
        }

        case 130:
        {
        source__ValidationData* parentValidationData = (source__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_IDREF_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_NAME_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE_COMMON) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TECHNIQUE;
        }
//        parentValidationData->technique++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        technique__ValidationData* validationData = (technique__ValidationData*)mValidationDataStack.newObject(sizeof(technique__ValidationData));
        memset(validationData, 0, sizeof(technique__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__technique()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        technique__ValidationData* validationData = (technique__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        animation__ValidationData* parentValidationData = (animation__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SOURCE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER;
        }
//        parentValidationData->sampler++;

        sampler__ValidationData* validationData = (sampler__ValidationData*)mValidationDataStack.newObject(sizeof(sampler__ValidationData));
        memset(validationData, 0, sizeof(sampler__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler__ValidationData* validationData = (sampler__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->input < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER, (const ParserChar*)0, "child: input" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__URIFragmentType( ParserString value )
{
    return validate__URIFragmentType( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__URIFragmentType( const ParserChar* value, size_t length )
{
// regular expression: "^(#(.*))$"
static const COLLADABU::PcreCompiledPattern compiledPattern("^(#(.*))$");
pcre* pattern = compiledPattern.getCompiledPattern();
int ovector[ PCRE_OVECCOUNT ];
int pcre_result = pcre_exec(
    pattern,
    0,
    value,
    (int)length,
    0,
    0,
    ovector,
    PCRE_OVECCOUNT);
if (pcre_result < 0)
    return ParserError::ERROR_VALIDATION_PATTERN;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__URIFragmentType__stream( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__URIFragmentType__streamEnd( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__input____InputLocal( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 516:
        {
        control_vertices__ValidationData* parentValidationData = (control_vertices__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 421:
        {
        joints__ValidationData* parentValidationData = (joints__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 86:
        {
        sampler__ValidationData* parentValidationData = (sampler__ValidationData*)mValidationDataStack.top();
        parentValidationData->input++;

        break;
        }

        case 50:
        {
        targets__ValidationData* parentValidationData = (targets__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 332:
        {
        vertices__ValidationData* parentValidationData = (vertices__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__input____InputLocal()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__channel( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        animation__ValidationData* parentValidationData = (animation__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_CHANNEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CHANNEL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CHANNEL;
        }
//        parentValidationData->channel++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__channel()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__extra( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 188:
        {
        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCENE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 23:
        {
        animation__ValidationData* parentValidationData = (animation__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANIMATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_CHANNEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 402:
        {
        animation_clip__ValidationData* parentValidationData = (animation_clip__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_animation < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: instance_animation" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 478:
        {
        attachment__ValidationData* parentValidationData = (attachment__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 562:
        {
        bind_material__ValidationData* parentValidationData = (bind_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 140:
        {
        box__ValidationData* parentValidationData = (box__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->half_extents < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: half_extents" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 475:
        {
        camera__ValidationData* parentValidationData = (camera__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->optics < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: optics" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 231:
        {
        capsule__ValidationData* parentValidationData = (capsule__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: radius" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 516:
        {
        control_vertices__ValidationData* parentValidationData = (control_vertices__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->input < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: input" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 290:
        {
        controller__ValidationData* parentValidationData = (controller__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_MORPH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKIN) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 436:
        {
        cylinder__ValidationData* parentValidationData = (cylinder__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: radius" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 487:
        {
        effect__ValidationData* parentValidationData = (effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->fx_profile_abstract < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: fx_profile_abstract" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 505:
        {
        force_field__ValidationData* parentValidationData = (force_field__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 183:
        {
        geometry__ValidationData* parentValidationData = (geometry__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_CONVEX_MESH) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_MESH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SPLINE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 28:
        {
        image__ValidationData* parentValidationData = (image__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DATA) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 596:
        {
        imager__ValidationData* parentValidationData = (imager__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 251:
        {
        instance_controller__ValidationData* parentValidationData = (instance_controller__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 578:
        {
        instance_effect__ValidationData* parentValidationData = (instance_effect__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 285:
        {
        instance_geometry__ValidationData* parentValidationData = (instance_geometry__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 116:
        {
        instance_material__ValidationData* parentValidationData = (instance_material__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 585:
        {
        instance_physics_model__ValidationData* parentValidationData = (instance_physics_model__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 201:
        {
        instance_rigid_body__ValidationData* parentValidationData = (instance_rigid_body__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 176:
        {
        instance_rigid_constraint__ValidationData* parentValidationData = (instance_rigid_constraint__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 421:
        {
        joints__ValidationData* parentValidationData = (joints__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->input < 2 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: input" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 222:
        {
        library_animation_clips__ValidationData* parentValidationData = (library_animation_clips__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->animation_clip < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: animation_clip" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 354:
        {
        library_animations__ValidationData* parentValidationData = (library_animations__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->animation < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: animation" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 172:
        {
        library_cameras__ValidationData* parentValidationData = (library_cameras__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->camera < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: camera" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 513:
        {
        library_controllers__ValidationData* parentValidationData = (library_controllers__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->controller < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: controller" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 494:
        {
        library_effects__ValidationData* parentValidationData = (library_effects__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->effect < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: effect" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 173:
        {
        library_force_fields__ValidationData* parentValidationData = (library_force_fields__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->force_field < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: force_field" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 129:
        {
        library_geometries__ValidationData* parentValidationData = (library_geometries__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->geometry < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: geometry" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 73:
        {
        library_images__ValidationData* parentValidationData = (library_images__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->image < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: image" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 178:
        {
        library_lights__ValidationData* parentValidationData = (library_lights__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->light < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: light" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 207:
        {
        library_materials__ValidationData* parentValidationData = (library_materials__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->material < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: material" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 433:
        {
        library_nodes__ValidationData* parentValidationData = (library_nodes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->node < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: node" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 599:
        {
        library_physics_materials__ValidationData* parentValidationData = (library_physics_materials__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->physics_material < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: physics_material" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 97:
        {
        library_physics_models__ValidationData* parentValidationData = (library_physics_models__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->physics_model < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: physics_model" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 105:
        {
        library_physics_scenes__ValidationData* parentValidationData = (library_physics_scenes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->physics_scene < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: physics_scene" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 584:
        {
        library_visual_scenes__ValidationData* parentValidationData = (library_visual_scenes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->visual_scene < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: visual_scene" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 81:
        {
        light__ValidationData* parentValidationData = (light__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 38:
        {
        lines__ValidationData* parentValidationData = (lines__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 48:
        {
        linestrips__ValidationData* parentValidationData = (linestrips__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 394:
        {
        material__ValidationData* parentValidationData = (material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_effect < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: instance_effect" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 591:
        {
        morph__ValidationData* parentValidationData = (morph__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->targets < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: targets" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 87:
        {
        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CONTROLLER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_LIGHT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_NODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_NODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 230:
        {
        optics__ValidationData* parentValidationData = (optics__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 301:
        {
        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 179:
        {
        physics_material__ValidationData* parentValidationData = (physics_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 586:
        {
        physics_model__ValidationData* parentValidationData = (physics_model__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 532:
        {
        physics_scene__ValidationData* parentValidationData = (physics_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 217:
        {
        plane__ValidationData* parentValidationData = (plane__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->equation < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: equation" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 540:
        {
        polygons__ValidationData* parentValidationData = (polygons__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INPUT) || (parentValidationData->validation_current_state == HASH_ELEMENT_P) || (parentValidationData->validation_current_state == HASH_ELEMENT_PH) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 604:
        {
        polylist__ValidationData* parentValidationData = (polylist__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 534:
        {
        profile_CG__ValidationData* parentValidationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 460:
        {
        profile_COMMON__ValidationData* parentValidationData = (profile_COMMON__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 393:
        {
        profile_GLES__ValidationData* parentValidationData = (profile_GLES__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 286:
        {
        profile_GLSL__ValidationData* parentValidationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 25:
        {
        ref_attachment__ValidationData* parentValidationData = (ref_attachment__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 92:
        {
        rigid_body__ValidationData* parentValidationData = (rigid_body__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 19:
        {
        rigid_constraint__ValidationData* parentValidationData = (rigid_constraint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 193:
        {
        scene__ValidationData* parentValidationData = (scene__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BOX) || (parentValidationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SPHERE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BOX) || (parentValidationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SPHERE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 576:
        {
        skin__ValidationData* parentValidationData = (skin__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->vertex_weights < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: vertex_weights" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 529:
        {
        sphere__ValidationData* parentValidationData = (sphere__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: radius" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 185:
        {
        spline__ValidationData* parentValidationData = (spline__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->control_vertices < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: control_vertices" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 514:
        {
        tapered_capsule__ValidationData* parentValidationData = (tapered_capsule__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius2 < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: radius2" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 254:
        {
        tapered_cylinder__ValidationData* parentValidationData = (tapered_cylinder__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius2 < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: radius2" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 50:
        {
        targets__ValidationData* parentValidationData = (targets__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->input < 2 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: input" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_PASS) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 318:
        {
        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BLINN) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONSTANT) || (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_LAMBERT) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHONG) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 319:
        {
        profile_GLES__technique__ValidationData* parentValidationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_PASS) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 320:
        {
        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_PASS) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 24:
        {
        texture__ValidationData* parentValidationData = (texture__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 548:
        {
        triangles__ValidationData* parentValidationData = (triangles__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 618:
        {
        trifans__ValidationData* parentValidationData = (trifans__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 76:
        {
        tristrips__ValidationData* parentValidationData = (tristrips__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 296:
        {
        vertex_weights__ValidationData* parentValidationData = (vertex_weights__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->input < 2 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: input" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 332:
        {
        vertices__ValidationData* parentValidationData = (vertices__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->input < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: input" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 506:
        {
        visual_scene__ValidationData* parentValidationData = (visual_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->node < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: node" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 52:
        {
        instance_animation__ValidationData* parentValidationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 55:
        {
        samplerDEPTH____cg_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 56:
        {
        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* parentValidationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        case 59:
        {
        format_hint__ValidationData* parentValidationData = (format_hint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->range < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: range" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 57:
        {
        samplerDEPTH____gl_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        parentValidationData->extra++;

        break;
        }

        case 538:
        {
        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 187:
        {
        texture_pipeline____gles_texture_pipeline__ValidationData* parentValidationData = (texture_pipeline____gles_texture_pipeline__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 60:
        {
        texture_unit__ValidationData* parentValidationData = (texture_unit__ValidationData*)mValidationDataStack.top();
        parentValidationData->extra++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_EXTRA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_EXTRA;
        }
//        parentValidationData->extra++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        extra__ValidationData* validationData = (extra__ValidationData*)mValidationDataStack.newObject(sizeof(extra__ValidationData));
        memset(validationData, 0, sizeof(extra__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__extra()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        extra__ValidationData* validationData = (extra__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_EXTRA, (const ParserChar*)0, "child: technique" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_animation_clips( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS;
        }
//        parentValidationData->library_animation_clips++;

        library_animation_clips__ValidationData* validationData = (library_animation_clips__ValidationData*)mValidationDataStack.newObject(sizeof(library_animation_clips__ValidationData));
        memset(validationData, 0, sizeof(library_animation_clips__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_animation_clips()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_animation_clips__ValidationData* validationData = (library_animation_clips__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->animation_clip < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS, (const ParserChar*)0, "child: animation_clip" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__animation_clip( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_animation_clips__ValidationData* parentValidationData = (library_animation_clips__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ANIMATION_CLIP, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->animation_clip++;

        animation_clip__ValidationData* validationData = (animation_clip__ValidationData*)mValidationDataStack.newObject(sizeof(animation_clip__ValidationData));
        memset(validationData, 0, sizeof(animation_clip__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__animation_clip()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        animation_clip__ValidationData* validationData = (animation_clip__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->instance_animation < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ANIMATION_CLIP, (const ParserChar*)0, "child: instance_animation" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_animation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        animation_clip__ValidationData* parentValidationData = (animation_clip__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_ANIMATION, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_animation++;

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_animation()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_cameras( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_CAMERAS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_CAMERAS;
        }
//        parentValidationData->library_cameras++;

        library_cameras__ValidationData* validationData = (library_cameras__ValidationData*)mValidationDataStack.newObject(sizeof(library_cameras__ValidationData));
        memset(validationData, 0, sizeof(library_cameras__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_cameras()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_cameras__ValidationData* validationData = (library_cameras__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->camera < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_CAMERAS, (const ParserChar*)0, "child: camera" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__camera( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_cameras__ValidationData* parentValidationData = (library_cameras__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CAMERA, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->camera++;

        camera__ValidationData* validationData = (camera__ValidationData*)mValidationDataStack.newObject(sizeof(camera__ValidationData));
        memset(validationData, 0, sizeof(camera__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__camera()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        camera__ValidationData* validationData = (camera__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->optics < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_CAMERA, (const ParserChar*)0, "child: optics" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__optics( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        camera__ValidationData* parentValidationData = (camera__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->imager != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_OPTICS, (const ParserChar*)0, "sibling: imager" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_OPTICS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->optics >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_OPTICS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->optics++;

        optics__ValidationData* validationData = (optics__ValidationData*)mValidationDataStack.newObject(sizeof(optics__ValidationData));
        memset(validationData, 0, sizeof(optics__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__optics()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        optics__ValidationData* validationData = (optics__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_OPTICS, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__optics__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        optics__ValidationData* parentValidationData = (optics__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        optics__technique_common__ValidationData* validationData = (optics__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(optics__technique_common__ValidationData));
        memset(validationData, 0, sizeof(optics__technique_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__optics__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        optics__technique_common__ValidationData* validationData = (optics__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->orthographic != 0 )
            if ( validationData->orthographic < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: orthographic" ) )
                    return false;
        if ( validationData->perspective != 0 )
            if ( validationData->perspective < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: perspective" ) )
                    return false;
        if ( validationData->orthographic == 0 && validationData->perspective == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__orthographic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        optics__technique_common__ValidationData* parentValidationData = (optics__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->perspective != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ORTHOGRAPHIC, (const ParserChar*)0, "sibling: perspective" ) )
                return false;
        }
        if ( parentValidationData->orthographic >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ORTHOGRAPHIC, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->orthographic++;

        orthographic__ValidationData* validationData = (orthographic__ValidationData*)mValidationDataStack.newObject(sizeof(orthographic__ValidationData));
        memset(validationData, 0, sizeof(orthographic__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__orthographic()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        orthographic__ValidationData* validationData = (orthographic__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ZFAR) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_ORTHOGRAPHIC, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__xmag( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        orthographic__ValidationData* parentValidationData = (orthographic__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_XMAG, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_XMAG;
        }
//        parentValidationData->xmag++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__xmag()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__ymag( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        orthographic__ValidationData* parentValidationData = (orthographic__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_XMAG) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_YMAG, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_YMAG;
        }
//        parentValidationData->ymag++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__ymag()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__aspect_ratio( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 565:
        {
        orthographic__ValidationData* parentValidationData = (orthographic__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_XMAG) || (parentValidationData->validation_current_state == HASH_ELEMENT_YMAG) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASPECT_RATIO, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASPECT_RATIO;
        }
//        parentValidationData->aspect_ratio++;

        break;
        }

        case 80:
        {
        perspective__ValidationData* parentValidationData = (perspective__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_XFOV) || (parentValidationData->validation_current_state == HASH_ELEMENT_YFOV) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ASPECT_RATIO, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ASPECT_RATIO;
        }
//        parentValidationData->aspect_ratio++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__aspect_ratio()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__znear( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 565:
        {
        orthographic__ValidationData* parentValidationData = (orthographic__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASPECT_RATIO) || (parentValidationData->validation_current_state == HASH_ELEMENT_XMAG) || (parentValidationData->validation_current_state == HASH_ELEMENT_YMAG) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ZNEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ZNEAR;
        }
//        parentValidationData->znear++;

        break;
        }

        case 80:
        {
        perspective__ValidationData* parentValidationData = (perspective__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASPECT_RATIO) || (parentValidationData->validation_current_state == HASH_ELEMENT_XFOV) || (parentValidationData->validation_current_state == HASH_ELEMENT_YFOV) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ZNEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ZNEAR;
        }
//        parentValidationData->znear++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__znear()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__zfar( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 565:
        {
        orthographic__ValidationData* parentValidationData = (orthographic__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ZNEAR) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ZFAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ZFAR;
        }
//        parentValidationData->zfar++;

        break;
        }

        case 80:
        {
        perspective__ValidationData* parentValidationData = (perspective__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ZNEAR) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ZFAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ZFAR;
        }
//        parentValidationData->zfar++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__zfar()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__perspective( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        optics__technique_common__ValidationData* parentValidationData = (optics__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->orthographic != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PERSPECTIVE, (const ParserChar*)0, "sibling: orthographic" ) )
                return false;
        }
        if ( parentValidationData->perspective >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PERSPECTIVE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->perspective++;

        perspective__ValidationData* validationData = (perspective__ValidationData*)mValidationDataStack.newObject(sizeof(perspective__ValidationData));
        memset(validationData, 0, sizeof(perspective__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__perspective()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        perspective__ValidationData* validationData = (perspective__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ZFAR) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PERSPECTIVE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__xfov( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        perspective__ValidationData* parentValidationData = (perspective__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_XFOV, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_XFOV;
        }
//        parentValidationData->xfov++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__xfov()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__yfov( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        perspective__ValidationData* parentValidationData = (perspective__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_XFOV) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_YFOV, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_YFOV;
        }
//        parentValidationData->yfov++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__yfov()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__imager( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        camera__ValidationData* parentValidationData = (camera__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->optics < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_IMAGER, (const ParserChar*)0, "sibling: optics" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_IMAGER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->imager >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_IMAGER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->imager++;

        imager__ValidationData* validationData = (imager__ValidationData*)mValidationDataStack.newObject(sizeof(imager__ValidationData));
        memset(validationData, 0, sizeof(imager__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__imager()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        imager__ValidationData* validationData = (imager__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_IMAGER, (const ParserChar*)0, "child: technique" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_controllers( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_CONTROLLERS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_CONTROLLERS;
        }
//        parentValidationData->library_controllers++;

        library_controllers__ValidationData* validationData = (library_controllers__ValidationData*)mValidationDataStack.newObject(sizeof(library_controllers__ValidationData));
        memset(validationData, 0, sizeof(library_controllers__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_controllers()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_controllers__ValidationData* validationData = (library_controllers__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->controller < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_CONTROLLERS, (const ParserChar*)0, "child: controller" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__controller( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_controllers__ValidationData* parentValidationData = (library_controllers__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTROLLER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->controller++;

        controller__ValidationData* validationData = (controller__ValidationData*)mValidationDataStack.newObject(sizeof(controller__ValidationData));
        memset(validationData, 0, sizeof(controller__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__controller()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        controller__ValidationData* validationData = (controller__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_MORPH) || (validationData->validation_current_state == HASH_ELEMENT_SKIN) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_CONTROLLER, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__skin( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        controller__ValidationData* parentValidationData = (controller__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SKIN, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SKIN;
        }
//        parentValidationData->skin++;

        skin__ValidationData* validationData = (skin__ValidationData*)mValidationDataStack.newObject(sizeof(skin__ValidationData));
        memset(validationData, 0, sizeof(skin__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__skin()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        skin__ValidationData* validationData = (skin__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 3 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SKIN, (const ParserChar*)0, "child: source" ) )
                return false;
        }
        if ( validationData->joints < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SKIN, (const ParserChar*)0, "child: joints" ) )
                return false;
        }
        if ( validationData->vertex_weights < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SKIN, (const ParserChar*)0, "child: vertex_weights" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x4( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x4__stream( const float* value, size_t length )
{

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x4__streamEnd( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bind_shape_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        skin__ValidationData* parentValidationData = (skin__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND_SHAPE_MATRIX, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->joints != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND_SHAPE_MATRIX, (const ParserChar*)0, "sibling: joints" ) )
                return false;
        }
        if ( parentValidationData->vertex_weights != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND_SHAPE_MATRIX, (const ParserChar*)0, "sibling: vertex_weights" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND_SHAPE_MATRIX, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->bind_shape_matrix >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BIND_SHAPE_MATRIX, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->bind_shape_matrix++;

        bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.newObject(sizeof(bind_shape_matrix__ValidationData));
        memset(validationData, 0, sizeof(bind_shape_matrix__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bind_shape_matrix()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__joints( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        skin__ValidationData* parentValidationData = (skin__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 3 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_JOINTS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->vertex_weights != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_JOINTS, (const ParserChar*)0, "sibling: vertex_weights" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_JOINTS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->joints >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_JOINTS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->joints++;

        joints__ValidationData* validationData = (joints__ValidationData*)mValidationDataStack.newObject(sizeof(joints__ValidationData));
        memset(validationData, 0, sizeof(joints__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__joints()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        joints__ValidationData* validationData = (joints__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->input < 2 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_JOINTS, (const ParserChar*)0, "child: input" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__vertex_weights( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        skin__ValidationData* parentValidationData = (skin__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->joints < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_VERTEX_WEIGHTS, (const ParserChar*)0, "sibling: joints" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VERTEX_WEIGHTS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->vertex_weights >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VERTEX_WEIGHTS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->vertex_weights++;

        vertex_weights__ValidationData* validationData = (vertex_weights__ValidationData*)mValidationDataStack.newObject(sizeof(vertex_weights__ValidationData));
        memset(validationData, 0, sizeof(vertex_weights__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__vertex_weights()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        vertex_weights__ValidationData* validationData = (vertex_weights__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->input < 2 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VERTEX_WEIGHTS, (const ParserChar*)0, "child: input" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__input____InputLocalOffset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 38:
        {
        lines__ValidationData* parentValidationData = (lines__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 48:
        {
        linestrips__ValidationData* parentValidationData = (linestrips__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 540:
        {
        polygons__ValidationData* parentValidationData = (polygons__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INPUT) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INPUT;
        }
//        parentValidationData->input++;

        break;
        }

        case 604:
        {
        polylist__ValidationData* parentValidationData = (polylist__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->vcount != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: vcount" ) )
                return false;
        }
        if ( parentValidationData->p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 548:
        {
        triangles__ValidationData* parentValidationData = (triangles__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 618:
        {
        trifans__ValidationData* parentValidationData = (trifans__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 76:
        {
        tristrips__ValidationData* parentValidationData = (tristrips__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        case 296:
        {
        vertex_weights__ValidationData* parentValidationData = (vertex_weights__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->vcount != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: vcount" ) )
                return false;
        }
        if ( parentValidationData->v != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: v" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->input++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__input____InputLocalOffset()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__vcount( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 604:
        {
        polylist__ValidationData* parentValidationData = (polylist__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VCOUNT, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VCOUNT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->vcount >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VCOUNT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->vcount++;

        break;
        }

        case 296:
        {
        vertex_weights__ValidationData* parentValidationData = (vertex_weights__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->input < 2 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_VCOUNT, (const ParserChar*)0, "sibling: input" ) )
                return false;
        }
        if ( parentValidationData->v != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VCOUNT, (const ParserChar*)0, "sibling: v" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VCOUNT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->vcount >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VCOUNT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->vcount++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__vcount()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__v( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        vertex_weights__ValidationData* parentValidationData = (vertex_weights__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->input < 2 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_V, (const ParserChar*)0, "sibling: input" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_V, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->v >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_V, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->v++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__v()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__MorphMethodType( ParserString value )
{
    return validate__MorphMethodType( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__MorphMethodType( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__MorphMethodType__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__MorphMethodType__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__morph( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        controller__ValidationData* parentValidationData = (controller__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MORPH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MORPH;
        }
//        parentValidationData->morph++;

        morph__ValidationData* validationData = (morph__ValidationData*)mValidationDataStack.newObject(sizeof(morph__ValidationData));
        memset(validationData, 0, sizeof(morph__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__morph()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        morph__ValidationData* validationData = (morph__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 2 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_MORPH, (const ParserChar*)0, "child: source" ) )
                return false;
        }
        if ( validationData->targets < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_MORPH, (const ParserChar*)0, "child: targets" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__targets( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        morph__ValidationData* parentValidationData = (morph__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 2 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TARGETS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TARGETS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->targets >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TARGETS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->targets++;

        targets__ValidationData* validationData = (targets__ValidationData*)mValidationDataStack.newObject(sizeof(targets__ValidationData));
        memset(validationData, 0, sizeof(targets__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__targets()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        targets__ValidationData* validationData = (targets__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->input < 2 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TARGETS, (const ParserChar*)0, "child: input" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_geometries( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_GEOMETRIES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_GEOMETRIES;
        }
//        parentValidationData->library_geometries++;

        library_geometries__ValidationData* validationData = (library_geometries__ValidationData*)mValidationDataStack.newObject(sizeof(library_geometries__ValidationData));
        memset(validationData, 0, sizeof(library_geometries__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_geometries()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_geometries__ValidationData* validationData = (library_geometries__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->geometry < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_GEOMETRIES, (const ParserChar*)0, "child: geometry" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__geometry( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_geometries__ValidationData* parentValidationData = (library_geometries__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_GEOMETRY, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->geometry++;

        geometry__ValidationData* validationData = (geometry__ValidationData*)mValidationDataStack.newObject(sizeof(geometry__ValidationData));
        memset(validationData, 0, sizeof(geometry__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__geometry()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        geometry__ValidationData* validationData = (geometry__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_CONVEX_MESH) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_MESH) || (validationData->validation_current_state == HASH_ELEMENT_SPLINE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_GEOMETRY, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__convex_mesh( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        geometry__ValidationData* parentValidationData = (geometry__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CONVEX_MESH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CONVEX_MESH;
        }
//        parentValidationData->convex_mesh++;

        convex_mesh__ValidationData* validationData = (convex_mesh__ValidationData*)mValidationDataStack.newObject(sizeof(convex_mesh__ValidationData));
        memset(validationData, 0, sizeof(convex_mesh__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__convex_mesh()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        convex_mesh__ValidationData* validationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_LINES) || (validationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (validationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (validationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (validationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (validationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (validationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (validationData->validation_current_state == HASH_ELEMENT_VERTICES) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_CONVEX_MESH, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__vertices( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SOURCE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_VERTICES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_VERTICES;
        }
//        parentValidationData->vertices++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SOURCE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_VERTICES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_VERTICES;
        }
//        parentValidationData->vertices++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        vertices__ValidationData* validationData = (vertices__ValidationData*)mValidationDataStack.newObject(sizeof(vertices__ValidationData));
        memset(validationData, 0, sizeof(vertices__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__vertices()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        vertices__ValidationData* validationData = (vertices__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->input < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VERTICES, (const ParserChar*)0, "child: input" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__lines( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINES;
        }
//        parentValidationData->lines++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINES;
        }
//        parentValidationData->lines++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        lines__ValidationData* validationData = (lines__ValidationData*)mValidationDataStack.newObject(sizeof(lines__ValidationData));
        memset(validationData, 0, sizeof(lines__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__lines()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        lines__ValidationData* validationData = (lines__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__p( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 38:
        {
        lines__ValidationData* parentValidationData = (lines__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->p++;

        break;
        }

        case 48:
        {
        linestrips__ValidationData* parentValidationData = (linestrips__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->p++;

        break;
        }

        case 197:
        {
        ph__ValidationData* parentValidationData = (ph__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->h != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_P, (const ParserChar*)0, "sibling: h" ) )
                return false;
        }
        if ( parentValidationData->p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->p++;

        break;
        }

        case 540:
        {
        polygons__ValidationData* parentValidationData = (polygons__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INPUT) || (parentValidationData->validation_current_state == HASH_ELEMENT_P) || (parentValidationData->validation_current_state == HASH_ELEMENT_PH) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_P, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_P;
        }
//        parentValidationData->p++;

        break;
        }

        case 604:
        {
        polylist__ValidationData* parentValidationData = (polylist__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->p++;

        break;
        }

        case 548:
        {
        triangles__ValidationData* parentValidationData = (triangles__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->p++;

        break;
        }

        case 618:
        {
        trifans__ValidationData* parentValidationData = (trifans__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->p++;

        break;
        }

        case 76:
        {
        tristrips__ValidationData* parentValidationData = (tristrips__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->p++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__p()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__linestrips( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINESTRIPS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINESTRIPS;
        }
//        parentValidationData->linestrips++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINESTRIPS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINESTRIPS;
        }
//        parentValidationData->linestrips++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        linestrips__ValidationData* validationData = (linestrips__ValidationData*)mValidationDataStack.newObject(sizeof(linestrips__ValidationData));
        memset(validationData, 0, sizeof(linestrips__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__linestrips()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        linestrips__ValidationData* validationData = (linestrips__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygons( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGONS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGONS;
        }
//        parentValidationData->polygons++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGONS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGONS;
        }
//        parentValidationData->polygons++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        polygons__ValidationData* validationData = (polygons__ValidationData*)mValidationDataStack.newObject(sizeof(polygons__ValidationData));
        memset(validationData, 0, sizeof(polygons__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygons()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        polygons__ValidationData* validationData = (polygons__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_INPUT) || (validationData->validation_current_state == HASH_ELEMENT_P) || (validationData->validation_current_state == HASH_ELEMENT_PH) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_POLYGONS, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__ph( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        polygons__ValidationData* parentValidationData = (polygons__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INPUT) || (parentValidationData->validation_current_state == HASH_ELEMENT_P) || (parentValidationData->validation_current_state == HASH_ELEMENT_PH) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PH;
        }
//        parentValidationData->ph++;

        ph__ValidationData* validationData = (ph__ValidationData*)mValidationDataStack.newObject(sizeof(ph__ValidationData));
        memset(validationData, 0, sizeof(ph__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__ph()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        ph__ValidationData* validationData = (ph__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->p < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_PH, (const ParserChar*)0, "child: p" ) )
                return false;
        }
        if ( validationData->h < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_PH, (const ParserChar*)0, "child: h" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__h( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        ph__ValidationData* parentValidationData = (ph__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->p < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_H, (const ParserChar*)0, "sibling: p" ) )
                return false;
        }
        parentValidationData->h++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__h()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polylist( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYLIST, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYLIST;
        }
//        parentValidationData->polylist++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYLIST, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYLIST;
        }
//        parentValidationData->polylist++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        polylist__ValidationData* validationData = (polylist__ValidationData*)mValidationDataStack.newObject(sizeof(polylist__ValidationData));
        memset(validationData, 0, sizeof(polylist__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polylist()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        polylist__ValidationData* validationData = (polylist__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__triangles( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRIANGLES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRIANGLES;
        }
//        parentValidationData->triangles++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRIANGLES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRIANGLES;
        }
//        parentValidationData->triangles++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        triangles__ValidationData* validationData = (triangles__ValidationData*)mValidationDataStack.newObject(sizeof(triangles__ValidationData));
        memset(validationData, 0, sizeof(triangles__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__triangles()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        triangles__ValidationData* validationData = (triangles__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__trifans( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRIFANS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRIFANS;
        }
//        parentValidationData->trifans++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRIFANS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRIFANS;
        }
//        parentValidationData->trifans++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        trifans__ValidationData* validationData = (trifans__ValidationData*)mValidationDataStack.newObject(sizeof(trifans__ValidationData));
        memset(validationData, 0, sizeof(trifans__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__trifans()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        trifans__ValidationData* validationData = (trifans__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__tristrips( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 297:
        {
        convex_mesh__ValidationData* parentValidationData = (convex_mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRISTRIPS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRISTRIPS;
        }
//        parentValidationData->tristrips++;

        break;
        }

        case 266:
        {
        mesh__ValidationData* parentValidationData = (mesh__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_LINES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRISTRIPS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRISTRIPS;
        }
//        parentValidationData->tristrips++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        tristrips__ValidationData* validationData = (tristrips__ValidationData*)mValidationDataStack.newObject(sizeof(tristrips__ValidationData));
        memset(validationData, 0, sizeof(tristrips__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__tristrips()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        tristrips__ValidationData* validationData = (tristrips__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__mesh( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        geometry__ValidationData* parentValidationData = (geometry__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MESH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MESH;
        }
//        parentValidationData->mesh++;

        mesh__ValidationData* validationData = (mesh__ValidationData*)mValidationDataStack.newObject(sizeof(mesh__ValidationData));
        memset(validationData, 0, sizeof(mesh__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__mesh()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        mesh__ValidationData* validationData = (mesh__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_LINES) || (validationData->validation_current_state == HASH_ELEMENT_LINESTRIPS) || (validationData->validation_current_state == HASH_ELEMENT_POLYGONS) || (validationData->validation_current_state == HASH_ELEMENT_POLYLIST) || (validationData->validation_current_state == HASH_ELEMENT_TRIANGLES) || (validationData->validation_current_state == HASH_ELEMENT_TRIFANS) || (validationData->validation_current_state == HASH_ELEMENT_TRISTRIPS) || (validationData->validation_current_state == HASH_ELEMENT_VERTICES) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_MESH, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__spline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        geometry__ValidationData* parentValidationData = (geometry__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SPLINE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SPLINE;
        }
//        parentValidationData->spline++;

        spline__ValidationData* validationData = (spline__ValidationData*)mValidationDataStack.newObject(sizeof(spline__ValidationData));
        memset(validationData, 0, sizeof(spline__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__spline()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spline__ValidationData* validationData = (spline__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SPLINE, (const ParserChar*)0, "child: source" ) )
                return false;
        }
        if ( validationData->control_vertices < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SPLINE, (const ParserChar*)0, "child: control_vertices" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__control_vertices( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spline__ValidationData* parentValidationData = (spline__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_CONTROL_VERTICES, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONTROL_VERTICES, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->control_vertices >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_CONTROL_VERTICES, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->control_vertices++;

        control_vertices__ValidationData* validationData = (control_vertices__ValidationData*)mValidationDataStack.newObject(sizeof(control_vertices__ValidationData));
        memset(validationData, 0, sizeof(control_vertices__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__control_vertices()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        control_vertices__ValidationData* validationData = (control_vertices__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->input < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_CONTROL_VERTICES, (const ParserChar*)0, "child: input" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_effects( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_EFFECTS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_EFFECTS;
        }
//        parentValidationData->library_effects++;

        library_effects__ValidationData* validationData = (library_effects__ValidationData*)mValidationDataStack.newObject(sizeof(library_effects__ValidationData));
        memset(validationData, 0, sizeof(library_effects__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_effects()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_effects__ValidationData* validationData = (library_effects__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->effect < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_EFFECTS, (const ParserChar*)0, "child: effect" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__effect( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_effects__ValidationData* parentValidationData = (library_effects__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EFFECT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->effect++;

        effect__ValidationData* validationData = (effect__ValidationData*)mValidationDataStack.newObject(sizeof(effect__ValidationData));
        memset(validationData, 0, sizeof(effect__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__effect()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        effect__ValidationData* validationData = (effect__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->fx_profile_abstract < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_EFFECT, (const ParserChar*)0, "child: fx_profile_abstract" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__annotate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 487:
        {
        effect__ValidationData* parentValidationData = (effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->image != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, "sibling: image" ) )
                return false;
        }
        if ( parentValidationData->newparam != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, "sibling: newparam" ) )
                return false;
        }
        if ( parentValidationData->fx_profile_abstract != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, "sibling: fx_profile_abstract" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->annotate++;

        break;
        }

        case 298:
        {
        cg_surface_type____generator__ValidationData* parentValidationData = (cg_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 299:
        {
        glsl_surface_type____generator__ValidationData* parentValidationData = (glsl_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 301:
        {
        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 180:
        {
        profile_CG__technique__pass__shader__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 181:
        {
        profile_GLSL__technique__pass__shader__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 319:
        {
        profile_GLES__technique__ValidationData* parentValidationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 320:
        {
        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANNOTATE;
        }
//        parentValidationData->annotate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        annotate__ValidationData* validationData = (annotate__ValidationData*)mValidationDataStack.newObject(sizeof(annotate__ValidationData));
        memset(validationData, 0, sizeof(annotate__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__annotate()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        annotate__ValidationData* validationData = (annotate__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_STRING) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_ANNOTATE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool____bool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool____bool()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool2( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool2__stream( const bool* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool2__streamEnd( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool2____bool2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool2____bool2__ValidationData* validationData = (bool2____bool2__ValidationData*)mValidationDataStack.newObject(sizeof(bool2____bool2__ValidationData));
        memset(validationData, 0, sizeof(bool2____bool2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool2____bool2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool3( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool3__stream( const bool* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool3__streamEnd( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool3____bool3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool3____bool3__ValidationData* validationData = (bool3____bool3__ValidationData*)mValidationDataStack.newObject(sizeof(bool3____bool3__ValidationData));
        memset(validationData, 0, sizeof(bool3____bool3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool3____bool3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool4( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool4__stream( const bool* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__bool4__streamEnd( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool4____bool4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool4____bool4__ValidationData* validationData = (bool4____bool4__ValidationData*)mValidationDataStack.newObject(sizeof(bool4____bool4__ValidationData));
        memset(validationData, 0, sizeof(bool4____bool4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool4____bool4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int____int( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int____int()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int2( const sint64* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int2__stream( const sint64* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int2__streamEnd( const sint64* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int2____int2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int2____int2__ValidationData* validationData = (int2____int2__ValidationData*)mValidationDataStack.newObject(sizeof(int2____int2__ValidationData));
        memset(validationData, 0, sizeof(int2____int2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int2____int2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int3( const sint64* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int3__stream( const sint64* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int3__streamEnd( const sint64* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int3____int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3____int3__ValidationData* validationData = (int3____int3__ValidationData*)mValidationDataStack.newObject(sizeof(int3____int3__ValidationData));
        memset(validationData, 0, sizeof(int3____int3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int3____int3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int4( const sint64* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int4__stream( const sint64* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__int4__streamEnd( const sint64* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int4____int4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int4____int4__ValidationData* validationData = (int4____int4__ValidationData*)mValidationDataStack.newObject(sizeof(int4____int4__ValidationData));
        memset(validationData, 0, sizeof(int4____int4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int4____int4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 148:
        {
        newparam____common_newparam_type__ValidationData* parentValidationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float____float()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 148:
        {
        newparam____common_newparam_type__ValidationData* parentValidationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____float2__ValidationData));
        memset(validationData, 0, sizeof(float2____float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2____float2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 148:
        {
        newparam____common_newparam_type__ValidationData* parentValidationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____float3__ValidationData));
        memset(validationData, 0, sizeof(float3____float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3____float3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4____float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 148:
        {
        newparam____common_newparam_type__ValidationData* parentValidationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.newObject(sizeof(float4____float4__ValidationData));
        memset(validationData, 0, sizeof(float4____float4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4____float4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x2( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x2__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x2__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x2____float2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x2____float2x2__ValidationData* validationData = (float2x2____float2x2__ValidationData*)mValidationDataStack.newObject(sizeof(float2x2____float2x2__ValidationData));
        memset(validationData, 0, sizeof(float2x2____float2x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x2____float2x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x3( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x3__stream( const float* value, size_t length )
{

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x3__streamEnd( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x3____float3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x3____float3x3__ValidationData* validationData = (float3x3____float3x3__ValidationData*)mValidationDataStack.newObject(sizeof(float3x3____float3x3__ValidationData));
        memset(validationData, 0, sizeof(float3x3____float3x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x3____float3x3()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x4____float4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.newObject(sizeof(bind_shape_matrix__ValidationData));
        memset(validationData, 0, sizeof(bind_shape_matrix__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x4____float4x4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__string( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        case 126:
        {
        annotate__ValidationData* parentValidationData = (annotate__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STRING, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STRING;
        }
//        parentValidationData->string++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__string()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__image( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 487:
        {
        effect__ValidationData* parentValidationData = (effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->newparam != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, "sibling: newparam" ) )
                return false;
        }
        if ( parentValidationData->fx_profile_abstract != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, "sibling: fx_profile_abstract" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->image++;

        break;
        }

        case 73:
        {
        library_images__ValidationData* parentValidationData = (library_images__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->image++;

        break;
        }

        case 534:
        {
        profile_CG__ValidationData* parentValidationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        case 460:
        {
        profile_COMMON__ValidationData* parentValidationData = (profile_COMMON__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        case 393:
        {
        profile_GLES__ValidationData* parentValidationData = (profile_GLES__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        case 286:
        {
        profile_GLSL__ValidationData* parentValidationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        case 318:
        {
        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        case 319:
        {
        profile_GLES__technique__ValidationData* parentValidationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        case 320:
        {
        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_IMAGE;
        }
//        parentValidationData->image++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        image__ValidationData* validationData = (image__ValidationData*)mValidationDataStack.newObject(sizeof(image__ValidationData));
        memset(validationData, 0, sizeof(image__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__image()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        image__ValidationData* validationData = (image__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_DATA) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_INIT_FROM) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_IMAGE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__data( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        image__ValidationData* parentValidationData = (image__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DATA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DATA;
        }
//        parentValidationData->data++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__data()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__init_from____anyURI( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        image__ValidationData* parentValidationData = (image__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_FROM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_FROM;
        }
//        parentValidationData->init_from++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__init_from____anyURI()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__newparam____fx_newparam_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        effect__ValidationData* parentValidationData = (effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->fx_profile_abstract != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, "sibling: fx_profile_abstract" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->newparam++;

        newparam____fx_newparam_common__ValidationData* validationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.newObject(sizeof(newparam____fx_newparam_common__ValidationData));
        memset(validationData, 0, sizeof(newparam____fx_newparam_common__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__newparam____fx_newparam_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        newparam____fx_newparam_common__ValidationData* validationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__semantic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SEMANTIC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SEMANTIC;
        }
//        parentValidationData->semantic++;

        break;
        }

        case 148:
        {
        newparam____common_newparam_type__ValidationData* parentValidationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SEMANTIC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SEMANTIC;
        }
//        parentValidationData->semantic++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SEMANTIC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SEMANTIC;
        }
//        parentValidationData->semantic++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SEMANTIC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SEMANTIC;
        }
//        parentValidationData->semantic++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SEMANTIC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SEMANTIC;
        }
//        parentValidationData->semantic++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__semantic()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_modifier_enum_common( ParserString value )
{
    return validate__fx_modifier_enum_common( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_modifier_enum_common( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_modifier_enum_common__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_modifier_enum_common__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__modifier( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MODIFIER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MODIFIER;
        }
//        parentValidationData->modifier++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MODIFIER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MODIFIER;
        }
//        parentValidationData->modifier++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MODIFIER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MODIFIER;
        }
//        parentValidationData->modifier++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MODIFIER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MODIFIER;
        }
//        parentValidationData->modifier++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__modifier()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x1____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x1____float()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x2____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____float2__ValidationData));
        memset(validationData, 0, sizeof(float2____float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x2____float2()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x3____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____float3__ValidationData));
        memset(validationData, 0, sizeof(float3____float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x3____float3()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x4____float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.newObject(sizeof(float4____float4__ValidationData));
        memset(validationData, 0, sizeof(float4____float4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x4____float4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x1____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____float2__ValidationData));
        memset(validationData, 0, sizeof(float2____float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x1____float2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x3( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x3__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x3__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x3____float2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x3____float2x3__ValidationData* validationData = (float2x3____float2x3__ValidationData*)mValidationDataStack.newObject(sizeof(float2x3____float2x3__ValidationData));
        memset(validationData, 0, sizeof(float2x3____float2x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x3____float2x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x4( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x4__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float2x4__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x4____float2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x4____float2x4__ValidationData* validationData = (float2x4____float2x4__ValidationData*)mValidationDataStack.newObject(sizeof(float2x4____float2x4__ValidationData));
        memset(validationData, 0, sizeof(float2x4____float2x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x4____float2x4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x1____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____float3__ValidationData));
        memset(validationData, 0, sizeof(float3____float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x1____float3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x2( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x2__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x2__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x2____float3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x2____float3x2__ValidationData* validationData = (float3x2____float3x2__ValidationData*)mValidationDataStack.newObject(sizeof(float3x2____float3x2__ValidationData));
        memset(validationData, 0, sizeof(float3x2____float3x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x2____float3x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x4( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x4__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float3x4__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x4____float3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x4____float3x4__ValidationData* validationData = (float3x4____float3x4__ValidationData*)mValidationDataStack.newObject(sizeof(float3x4____float3x4__ValidationData));
        memset(validationData, 0, sizeof(float3x4____float3x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x4____float3x4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x1____float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.newObject(sizeof(float4____float4__ValidationData));
        memset(validationData, 0, sizeof(float4____float4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x1____float4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x2( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x2__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x2__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x2____float4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4x2____float4x2__ValidationData* validationData = (float4x2____float4x2__ValidationData*)mValidationDataStack.newObject(sizeof(float4x2____float4x2__ValidationData));
        memset(validationData, 0, sizeof(float4x2____float4x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x2____float4x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x3( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x3__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float4x3__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x3____float4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4x3____float4x3__ValidationData* validationData = (float4x3____float4x3__ValidationData*)mValidationDataStack.newObject(sizeof(float4x3____float4x3__ValidationData));
        memset(validationData, 0, sizeof(float4x3____float4x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x3____float4x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_type_enum( ParserString value )
{
    return validate__fx_surface_type_enum( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_type_enum( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_type_enum__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_type_enum__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__surface____fx_surface_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 148:
        {
        newparam____common_newparam_type__ValidationData* parentValidationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        surface____fx_surface_common__ValidationData* validationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.newObject(sizeof(surface____fx_surface_common__ValidationData));
        memset(validationData, 0, sizeof(surface____fx_surface_common__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__surface____fx_surface_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        surface____fx_surface_common__ValidationData* validationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_FORMAT) || (validationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (validationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (validationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (validationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (validationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (validationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (validationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (validationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (validationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (validationData->validation_current_state == HASH_ELEMENT_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__init_as_null( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_AS_NULL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_AS_NULL;
        }
//        parentValidationData->init_as_null++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_AS_NULL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_AS_NULL;
        }
//        parentValidationData->init_as_null++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_AS_NULL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_AS_NULL;
        }
//        parentValidationData->init_as_null++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.newObject(sizeof(init_as_null__ValidationData));
        memset(validationData, 0, sizeof(init_as_null__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__init_as_null()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__init_as_target( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_AS_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_AS_TARGET;
        }
//        parentValidationData->init_as_target++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_AS_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_AS_TARGET;
        }
//        parentValidationData->init_as_target++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_AS_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_AS_TARGET;
        }
//        parentValidationData->init_as_target++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.newObject(sizeof(init_as_null__ValidationData));
        memset(validationData, 0, sizeof(init_as_null__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__init_as_target()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__init_cube( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_CUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_CUBE;
        }
//        parentValidationData->init_cube++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_CUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_CUBE;
        }
//        parentValidationData->init_cube++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_CUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_CUBE;
        }
//        parentValidationData->init_cube++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        init_cube__ValidationData* validationData = (init_cube__ValidationData*)mValidationDataStack.newObject(sizeof(init_cube__ValidationData));
        memset(validationData, 0, sizeof(init_cube__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__init_cube()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_cube__ValidationData* validationData = (init_cube__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->all != 0 )
            if ( validationData->all < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INIT_CUBE, (const ParserChar*)0, "child: all" ) )
                    return false;
        if ( validationData->primary != 0 )
            if ( validationData->primary < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INIT_CUBE, (const ParserChar*)0, "child: primary" ) )
                    return false;
        if ( validationData->face != 0 )
            if ( validationData->face < 6 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INIT_CUBE, (const ParserChar*)0, "child: face" ) )
                    return false;
        if ( validationData->all == 0 && validationData->primary == 0 && validationData->face == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_INIT_CUBE, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fx_surface_init_cube_common____all( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_cube__ValidationData* parentValidationData = (init_cube__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->primary != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ALL, (const ParserChar*)0, "sibling: primary" ) )
                return false;
        }
        if ( parentValidationData->face != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ALL, (const ParserChar*)0, "sibling: face" ) )
                return false;
        }
        if ( parentValidationData->all >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ALL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->all++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fx_surface_init_cube_common____all()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fx_surface_init_cube_common____primary( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_cube__ValidationData* parentValidationData = (init_cube__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->all != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PRIMARY, (const ParserChar*)0, "sibling: all" ) )
                return false;
        }
        if ( parentValidationData->face != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PRIMARY, (const ParserChar*)0, "sibling: face" ) )
                return false;
        }
        if ( parentValidationData->primary >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PRIMARY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->primary++;

        fx_surface_init_cube_common____primary__ValidationData* validationData = (fx_surface_init_cube_common____primary__ValidationData*)mValidationDataStack.newObject(sizeof(fx_surface_init_cube_common____primary__ValidationData));
        memset(validationData, 0, sizeof(fx_surface_init_cube_common____primary__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fx_surface_init_cube_common____primary()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        fx_surface_init_cube_common____primary__ValidationData* validationData = (fx_surface_init_cube_common____primary__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->order < 6 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_PRIMARY, (const ParserChar*)0, "child: order" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_face_enum( ParserString value )
{
    return validate__fx_surface_face_enum( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_face_enum( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_face_enum__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_face_enum__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__order( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        fx_surface_init_cube_common____primary__ValidationData* parentValidationData = (fx_surface_init_cube_common____primary__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->order >= 6 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ORDER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->order++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__order()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fx_surface_init_cube_common____face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_cube__ValidationData* parentValidationData = (init_cube__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->all != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: all" ) )
                return false;
        }
        if ( parentValidationData->primary != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: primary" ) )
                return false;
        }
        if ( parentValidationData->face >= 6 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FACE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->face++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fx_surface_init_cube_common____face()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__init_volume( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_VOLUME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_VOLUME;
        }
//        parentValidationData->init_volume++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_VOLUME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_VOLUME;
        }
//        parentValidationData->init_volume++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_VOLUME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_VOLUME;
        }
//        parentValidationData->init_volume++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        init_volume__ValidationData* validationData = (init_volume__ValidationData*)mValidationDataStack.newObject(sizeof(init_volume__ValidationData));
        memset(validationData, 0, sizeof(init_volume__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__init_volume()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_volume__ValidationData* validationData = (init_volume__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->all != 0 )
            if ( validationData->all < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INIT_VOLUME, (const ParserChar*)0, "child: all" ) )
                    return false;
        if ( validationData->primary != 0 )
            if ( validationData->primary < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INIT_VOLUME, (const ParserChar*)0, "child: primary" ) )
                    return false;
        if ( validationData->all == 0 && validationData->primary == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_INIT_VOLUME, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fx_surface_init_volume_common____all( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_volume__ValidationData* parentValidationData = (init_volume__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->primary != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ALL, (const ParserChar*)0, "sibling: primary" ) )
                return false;
        }
        if ( parentValidationData->all >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ALL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->all++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fx_surface_init_volume_common____all()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fx_surface_init_volume_common____primary( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_volume__ValidationData* parentValidationData = (init_volume__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->all != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PRIMARY, (const ParserChar*)0, "sibling: all" ) )
                return false;
        }
        if ( parentValidationData->primary >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PRIMARY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->primary++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fx_surface_init_volume_common____primary()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__init_planar( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_PLANAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_PLANAR;
        }
//        parentValidationData->init_planar++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_PLANAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_PLANAR;
        }
//        parentValidationData->init_planar++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_PLANAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_PLANAR;
        }
//        parentValidationData->init_planar++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        init_planar__ValidationData* validationData = (init_planar__ValidationData*)mValidationDataStack.newObject(sizeof(init_planar__ValidationData));
        memset(validationData, 0, sizeof(init_planar__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__init_planar()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_planar__ValidationData* validationData = (init_planar__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->all != 0 )
            if ( validationData->all < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INIT_PLANAR, (const ParserChar*)0, "child: all" ) )
                    return false;
        if ( validationData->all == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_INIT_PLANAR, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fx_surface_init_planar_common____all( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_planar__ValidationData* parentValidationData = (init_planar__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->all >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ALL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->all++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fx_surface_init_planar_common____all()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__unsignedInt( const uint32 value )
{
    if( value > 4294967295 )
        return ParserError::ERROR_VALIDATION_MAX_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__init_from____fx_surface_init_from_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_FROM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_FROM;
        }
//        parentValidationData->init_from++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_FROM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_FROM;
        }
//        parentValidationData->init_from++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INIT_FROM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INIT_FROM;
        }
//        parentValidationData->init_from++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__init_from____fx_surface_init_from_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__format( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FORMAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FORMAT;
        }
//        parentValidationData->format++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FORMAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FORMAT;
        }
//        parentValidationData->format++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FORMAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FORMAT;
        }
//        parentValidationData->format++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__format()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__format_hint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FORMAT_HINT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FORMAT_HINT;
        }
//        parentValidationData->format_hint++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FORMAT_HINT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FORMAT_HINT;
        }
//        parentValidationData->format_hint++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FORMAT_HINT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FORMAT_HINT;
        }
//        parentValidationData->format_hint++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        format_hint__ValidationData* validationData = (format_hint__ValidationData*)mValidationDataStack.newObject(sizeof(format_hint__ValidationData));
        memset(validationData, 0, sizeof(format_hint__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__format_hint()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        format_hint__ValidationData* validationData = (format_hint__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->channels < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_FORMAT_HINT, (const ParserChar*)0, "child: channels" ) )
                return false;
        }
        if ( validationData->range < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_FORMAT_HINT, (const ParserChar*)0, "child: range" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_channels_enum( ParserString value )
{
    return validate__fx_surface_format_hint_channels_enum( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_channels_enum( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_channels_enum__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_channels_enum__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__channels( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        format_hint__ValidationData* parentValidationData = (format_hint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->range != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CHANNELS, (const ParserChar*)0, "sibling: range" ) )
                return false;
        }
        if ( parentValidationData->precision != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CHANNELS, (const ParserChar*)0, "sibling: precision" ) )
                return false;
        }
        if ( parentValidationData->option != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CHANNELS, (const ParserChar*)0, "sibling: option" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CHANNELS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->channels >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_CHANNELS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->channels++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__channels()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_range_enum( ParserString value )
{
    return validate__fx_surface_format_hint_range_enum( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_range_enum( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_range_enum__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_range_enum__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__range( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        format_hint__ValidationData* parentValidationData = (format_hint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->channels < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_RANGE, (const ParserChar*)0, "sibling: channels" ) )
                return false;
        }
        if ( parentValidationData->precision != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RANGE, (const ParserChar*)0, "sibling: precision" ) )
                return false;
        }
        if ( parentValidationData->option != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RANGE, (const ParserChar*)0, "sibling: option" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RANGE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->range >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RANGE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->range++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__range()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_precision_enum( ParserString value )
{
    return validate__fx_surface_format_hint_precision_enum( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_precision_enum( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_precision_enum__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_precision_enum__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__precision( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        format_hint__ValidationData* parentValidationData = (format_hint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->range < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_PRECISION, (const ParserChar*)0, "sibling: range" ) )
                return false;
        }
        if ( parentValidationData->option != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PRECISION, (const ParserChar*)0, "sibling: option" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PRECISION, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->precision >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PRECISION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->precision++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__precision()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_option_enum( ParserString value )
{
    return validate__fx_surface_format_hint_option_enum( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_option_enum( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_option_enum__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_surface_format_hint_option_enum__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__option( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        format_hint__ValidationData* parentValidationData = (format_hint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->range < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_OPTION, (const ParserChar*)0, "sibling: range" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_OPTION, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->option++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__option()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__size____int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SIZE;
        }
//        parentValidationData->size++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SIZE;
        }
//        parentValidationData->size++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SIZE;
        }
//        parentValidationData->size++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3____int3__ValidationData* validationData = (int3____int3__ValidationData*)mValidationDataStack.newObject(sizeof(int3____int3__ValidationData));
        memset(validationData, 0, sizeof(int3____int3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__size____int3()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__viewport_ratio( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_VIEWPORT_RATIO, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_VIEWPORT_RATIO;
        }
//        parentValidationData->viewport_ratio++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_VIEWPORT_RATIO, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_VIEWPORT_RATIO;
        }
//        parentValidationData->viewport_ratio++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_VIEWPORT_RATIO, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_VIEWPORT_RATIO;
        }
//        parentValidationData->viewport_ratio++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____float2__ValidationData));
        memset(validationData, 0, sizeof(float2____float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__viewport_ratio()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__mip_levels( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MIP_LEVELS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MIP_LEVELS;
        }
//        parentValidationData->mip_levels++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MIP_LEVELS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MIP_LEVELS;
        }
//        parentValidationData->mip_levels++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MIP_LEVELS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MIP_LEVELS;
        }
//        parentValidationData->mip_levels++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__mip_levels()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__mipmap_generate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 496:
        {
        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MIPMAP_GENERATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MIPMAP_GENERATE;
        }
//        parentValidationData->mipmap_generate++;

        break;
        }

        case 497:
        {
        surface____fx_surface_common__ValidationData* parentValidationData = (surface____fx_surface_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MIPMAP_GENERATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MIPMAP_GENERATE;
        }
//        parentValidationData->mipmap_generate++;

        break;
        }

        case 498:
        {
        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MIPMAP_GENERATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MIPMAP_GENERATE;
        }
//        parentValidationData->mipmap_generate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__mipmap_generate()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler1D____fx_sampler1D_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler1D____fx_sampler1D_common__ValidationData* validationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.newObject(sizeof(sampler1D____fx_sampler1D_common__ValidationData));
        memset(validationData, 0, sizeof(sampler1D____fx_sampler1D_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler1D____fx_sampler1D_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler1D____fx_sampler1D_common__ValidationData* validationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__source____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 55:
        {
        samplerDEPTH____cg_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 56:
        {
        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* parentValidationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 57:
        {
        samplerDEPTH____gl_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_s != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_s" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SOURCE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->source >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SOURCE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->source++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__source____NCName()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_wrap_common( ParserString value )
{
    return validate__fx_sampler_wrap_common( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_wrap_common( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_wrap_common__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_wrap_common__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__wrap_s____fx_sampler_wrap_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 55:
        {
        samplerDEPTH____cg_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 56:
        {
        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* parentValidationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 57:
        {
        samplerDEPTH____gl_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__wrap_s____fx_sampler_wrap_common()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_filter_common( ParserString value )
{
    return validate__fx_sampler_filter_common( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_filter_common( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_filter_common__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_sampler_filter_common__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__minfilter( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 55:
        {
        samplerDEPTH____cg_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 56:
        {
        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* parentValidationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 57:
        {
        samplerDEPTH____gl_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        case 538:
        {
        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->minfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->minfilter++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__minfilter()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__magfilter( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 55:
        {
        samplerDEPTH____cg_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 56:
        {
        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* parentValidationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 57:
        {
        samplerDEPTH____gl_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        case 538:
        {
        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->magfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->magfilter++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__magfilter()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__mipfilter( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        case 538:
        {
        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipfilter >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipfilter++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__mipfilter()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_color_common( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_color_common__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_color_common__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__border_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->border_color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BORDER_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->border_color++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.newObject(sizeof(border_color__ValidationData));
        memset(validationData, 0, sizeof(border_color__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__border_color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__mipmap_maxlevel( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        case 538:
        {
        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_maxlevel++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__mipmap_maxlevel()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__mipmap_bias( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 592:
        {
        sampler1D____cg_sampler1D__ValidationData* parentValidationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 593:
        {
        sampler1D____fx_sampler1D_common__ValidationData* parentValidationData = (sampler1D____fx_sampler1D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 257:
        {
        sampler1D____gl_sampler1D__ValidationData* parentValidationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        case 538:
        {
        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mipmap_bias++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__mipmap_bias()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler2D____fx_sampler2D_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 148:
        {
        newparam____common_newparam_type__ValidationData* parentValidationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler2D____fx_sampler2D_common__ValidationData* validationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.newObject(sizeof(sampler2D____fx_sampler2D_common__ValidationData));
        memset(validationData, 0, sizeof(sampler2D____fx_sampler2D_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler2D____fx_sampler2D_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler2D____fx_sampler2D_common__ValidationData* validationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__wrap_t____fx_sampler_wrap_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 608:
        {
        sampler2D____cg_sampler2D__ValidationData* parentValidationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 55:
        {
        samplerDEPTH____cg_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 597:
        {
        samplerRECT____cg_samplerRECT__ValidationData* parentValidationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 609:
        {
        sampler2D____fx_sampler2D_common__ValidationData* parentValidationData = (sampler2D____fx_sampler2D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 56:
        {
        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* parentValidationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 598:
        {
        samplerRECT____fx_samplerRECT_common__ValidationData* parentValidationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 258:
        {
        sampler2D____gl_sampler2D__ValidationData* parentValidationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->wrap_p != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: wrap_p" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 57:
        {
        samplerDEPTH____gl_samplerDEPTH__ValidationData* parentValidationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        case 261:
        {
        samplerRECT____gl_samplerRECT__ValidationData* parentValidationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__wrap_t____fx_sampler_wrap_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler3D____fx_sampler3D_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler3D____fx_sampler3D_common__ValidationData* validationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.newObject(sizeof(sampler3D____fx_sampler3D_common__ValidationData));
        memset(validationData, 0, sizeof(sampler3D____fx_sampler3D_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler3D____fx_sampler3D_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler3D____fx_sampler3D_common__ValidationData* validationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__wrap_p( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 616:
        {
        sampler3D____cg_sampler3D__ValidationData* parentValidationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_p++;

        break;
        }

        case 370:
        {
        samplerCUBE____cg_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_p++;

        break;
        }

        case 617:
        {
        sampler3D____fx_sampler3D_common__ValidationData* parentValidationData = (sampler3D____fx_sampler3D_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_p++;

        break;
        }

        case 371:
        {
        samplerCUBE____fx_samplerCUBE_common__ValidationData* parentValidationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_p++;

        break;
        }

        case 259:
        {
        sampler3D____gl_sampler3D__ValidationData* parentValidationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_p++;

        break;
        }

        case 260:
        {
        samplerCUBE____gl_samplerCUBE__ValidationData* parentValidationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->source < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: source" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->border_color != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: border_color" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_p >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_p++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__wrap_p()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerCUBE____fx_samplerCUBE_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerCUBE____fx_samplerCUBE_common__ValidationData* validationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.newObject(sizeof(samplerCUBE____fx_samplerCUBE_common__ValidationData));
        memset(validationData, 0, sizeof(samplerCUBE____fx_samplerCUBE_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerCUBE____fx_samplerCUBE_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerCUBE____fx_samplerCUBE_common__ValidationData* validationData = (samplerCUBE____fx_samplerCUBE_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerRECT____fx_samplerRECT_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerRECT____fx_samplerRECT_common__ValidationData* validationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.newObject(sizeof(samplerRECT____fx_samplerRECT_common__ValidationData));
        memset(validationData, 0, sizeof(samplerRECT____fx_samplerRECT_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerRECT____fx_samplerRECT_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerRECT____fx_samplerRECT_common__ValidationData* validationData = (samplerRECT____fx_samplerRECT_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerDEPTH____fx_samplerDEPTH_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* validationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.newObject(sizeof(samplerDEPTH____fx_samplerDEPTH_common__ValidationData));
        memset(validationData, 0, sizeof(samplerDEPTH____fx_samplerDEPTH_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerDEPTH____fx_samplerDEPTH_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerDEPTH____fx_samplerDEPTH_common__ValidationData* validationData = (samplerDEPTH____fx_samplerDEPTH_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__enum____string( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 469:
        {
        instance_effect__setparam__ValidationData* parentValidationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 149:
        {
        newparam____fx_newparam_common__ValidationData* parentValidationData = (newparam____fx_newparam_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__enum____string()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fx_profile_abstract( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        effect__ValidationData* parentValidationData = (effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FX_PROFILE_ABSTRACT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->fx_profile_abstract++;

        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.newObject(sizeof(init_as_null__ValidationData));
        memset(validationData, 0, sizeof(init_as_null__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fx_profile_abstract()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_force_fields( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_FORCE_FIELDS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_FORCE_FIELDS;
        }
//        parentValidationData->library_force_fields++;

        library_force_fields__ValidationData* validationData = (library_force_fields__ValidationData*)mValidationDataStack.newObject(sizeof(library_force_fields__ValidationData));
        memset(validationData, 0, sizeof(library_force_fields__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_force_fields()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_force_fields__ValidationData* validationData = (library_force_fields__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->force_field < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_FORCE_FIELDS, (const ParserChar*)0, "child: force_field" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__force_field( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_force_fields__ValidationData* parentValidationData = (library_force_fields__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FORCE_FIELD, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->force_field++;

        force_field__ValidationData* validationData = (force_field__ValidationData*)mValidationDataStack.newObject(sizeof(force_field__ValidationData));
        memset(validationData, 0, sizeof(force_field__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__force_field()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        force_field__ValidationData* validationData = (force_field__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_FORCE_FIELD, (const ParserChar*)0, "child: technique" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_images( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_IMAGES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_IMAGES;
        }
//        parentValidationData->library_images++;

        library_images__ValidationData* validationData = (library_images__ValidationData*)mValidationDataStack.newObject(sizeof(library_images__ValidationData));
        memset(validationData, 0, sizeof(library_images__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_images()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_images__ValidationData* validationData = (library_images__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->image < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_IMAGES, (const ParserChar*)0, "child: image" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_lights( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_LIGHTS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_LIGHTS;
        }
//        parentValidationData->library_lights++;

        library_lights__ValidationData* validationData = (library_lights__ValidationData*)mValidationDataStack.newObject(sizeof(library_lights__ValidationData));
        memset(validationData, 0, sizeof(library_lights__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_lights()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_lights__ValidationData* validationData = (library_lights__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->light < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_LIGHTS, (const ParserChar*)0, "child: light" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__light( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_lights__ValidationData* parentValidationData = (library_lights__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_LIGHT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->light++;

        light__ValidationData* validationData = (light__ValidationData*)mValidationDataStack.newObject(sizeof(light__ValidationData));
        memset(validationData, 0, sizeof(light__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__light()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__ValidationData* validationData = (light__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIGHT, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__light__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__ValidationData* parentValidationData = (light__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        light__technique_common__ValidationData* validationData = (light__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(light__technique_common__ValidationData));
        memset(validationData, 0, sizeof(light__technique_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__light__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__technique_common__ValidationData* validationData = (light__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->ambient != 0 )
            if ( validationData->ambient < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: ambient" ) )
                    return false;
        if ( validationData->directional != 0 )
            if ( validationData->directional < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: directional" ) )
                    return false;
        if ( validationData->point != 0 )
            if ( validationData->point < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: point" ) )
                    return false;
        if ( validationData->spot != 0 )
            if ( validationData->spot < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: spot" ) )
                    return false;
        if ( validationData->ambient == 0 && validationData->directional == 0 && validationData->point == 0 && validationData->spot == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__light__technique_common__ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__technique_common__ValidationData* parentValidationData = (light__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->directional != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: directional" ) )
                return false;
        }
        if ( parentValidationData->point != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: point" ) )
                return false;
        }
        if ( parentValidationData->spot != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: spot" ) )
                return false;
        }
        if ( parentValidationData->ambient >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ambient++;

        light__technique_common__ambient__ValidationData* validationData = (light__technique_common__ambient__ValidationData*)mValidationDataStack.newObject(sizeof(light__technique_common__ambient__ValidationData));
        memset(validationData, 0, sizeof(light__technique_common__ambient__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__light__technique_common__ambient()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__technique_common__ambient__ValidationData* validationData = (light__technique_common__ambient__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "child: color" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color____TargetableFloat3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 427:
        {
        light__technique_common__ambient__ValidationData* parentValidationData = (light__technique_common__ambient__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->color++;

        break;
        }

        case 413:
        {
        directional__ValidationData* parentValidationData = (directional__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->color++;

        break;
        }

        case 547:
        {
        point__ValidationData* parentValidationData = (point__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->constant_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: constant_attenuation" ) )
                return false;
        }
        if ( parentValidationData->linear_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: linear_attenuation" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: quadratic_attenuation" ) )
                return false;
        }
        if ( parentValidationData->color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->color++;

        break;
        }

        case 337:
        {
        spot__ValidationData* parentValidationData = (spot__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->constant_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: constant_attenuation" ) )
                return false;
        }
        if ( parentValidationData->linear_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: linear_attenuation" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: quadratic_attenuation" ) )
                return false;
        }
        if ( parentValidationData->falloff_angle != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: falloff_angle" ) )
                return false;
        }
        if ( parentValidationData->falloff_exponent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: falloff_exponent" ) )
                return false;
        }
        if ( parentValidationData->color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->color++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        color____TargetableFloat3__ValidationData* validationData = (color____TargetableFloat3__ValidationData*)mValidationDataStack.newObject(sizeof(color____TargetableFloat3__ValidationData));
        memset(validationData, 0, sizeof(color____TargetableFloat3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color____TargetableFloat3()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__directional( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__technique_common__ValidationData* parentValidationData = (light__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ambient != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIRECTIONAL, (const ParserChar*)0, "sibling: ambient" ) )
                return false;
        }
        if ( parentValidationData->point != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIRECTIONAL, (const ParserChar*)0, "sibling: point" ) )
                return false;
        }
        if ( parentValidationData->spot != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIRECTIONAL, (const ParserChar*)0, "sibling: spot" ) )
                return false;
        }
        if ( parentValidationData->directional >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DIRECTIONAL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->directional++;

        directional__ValidationData* validationData = (directional__ValidationData*)mValidationDataStack.newObject(sizeof(directional__ValidationData));
        memset(validationData, 0, sizeof(directional__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__directional()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        directional__ValidationData* validationData = (directional__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_DIRECTIONAL, (const ParserChar*)0, "child: color" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__point( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__technique_common__ValidationData* parentValidationData = (light__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ambient != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_POINT, (const ParserChar*)0, "sibling: ambient" ) )
                return false;
        }
        if ( parentValidationData->directional != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_POINT, (const ParserChar*)0, "sibling: directional" ) )
                return false;
        }
        if ( parentValidationData->spot != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_POINT, (const ParserChar*)0, "sibling: spot" ) )
                return false;
        }
        if ( parentValidationData->point >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_POINT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->point++;

        point__ValidationData* validationData = (point__ValidationData*)mValidationDataStack.newObject(sizeof(point__ValidationData));
        memset(validationData, 0, sizeof(point__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__point()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        point__ValidationData* validationData = (point__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_POINT, (const ParserChar*)0, "child: color" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__constant_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 547:
        {
        point__ValidationData* parentValidationData = (point__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->linear_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: linear_attenuation" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: quadratic_attenuation" ) )
                return false;
        }
        if ( parentValidationData->constant_attenuation >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->constant_attenuation++;

        break;
        }

        case 337:
        {
        spot__ValidationData* parentValidationData = (spot__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->linear_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: linear_attenuation" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: quadratic_attenuation" ) )
                return false;
        }
        if ( parentValidationData->falloff_angle != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: falloff_angle" ) )
                return false;
        }
        if ( parentValidationData->falloff_exponent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, "sibling: falloff_exponent" ) )
                return false;
        }
        if ( parentValidationData->constant_attenuation >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->constant_attenuation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__constant_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__linear_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 547:
        {
        point__ValidationData* parentValidationData = (point__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, "sibling: quadratic_attenuation" ) )
                return false;
        }
        if ( parentValidationData->linear_attenuation >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->linear_attenuation++;

        break;
        }

        case 337:
        {
        spot__ValidationData* parentValidationData = (spot__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, "sibling: quadratic_attenuation" ) )
                return false;
        }
        if ( parentValidationData->falloff_angle != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, "sibling: falloff_angle" ) )
                return false;
        }
        if ( parentValidationData->falloff_exponent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, "sibling: falloff_exponent" ) )
                return false;
        }
        if ( parentValidationData->linear_attenuation >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->linear_attenuation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__linear_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__quadratic_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 547:
        {
        point__ValidationData* parentValidationData = (point__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_QUADRATIC_ATTENUATION, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_QUADRATIC_ATTENUATION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->quadratic_attenuation++;

        break;
        }

        case 337:
        {
        spot__ValidationData* parentValidationData = (spot__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_QUADRATIC_ATTENUATION, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->falloff_angle != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_QUADRATIC_ATTENUATION, (const ParserChar*)0, "sibling: falloff_angle" ) )
                return false;
        }
        if ( parentValidationData->falloff_exponent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_QUADRATIC_ATTENUATION, (const ParserChar*)0, "sibling: falloff_exponent" ) )
                return false;
        }
        if ( parentValidationData->quadratic_attenuation >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_QUADRATIC_ATTENUATION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->quadratic_attenuation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__quadratic_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__spot( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        light__technique_common__ValidationData* parentValidationData = (light__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ambient != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPOT, (const ParserChar*)0, "sibling: ambient" ) )
                return false;
        }
        if ( parentValidationData->directional != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPOT, (const ParserChar*)0, "sibling: directional" ) )
                return false;
        }
        if ( parentValidationData->point != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPOT, (const ParserChar*)0, "sibling: point" ) )
                return false;
        }
        if ( parentValidationData->spot >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SPOT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->spot++;

        spot__ValidationData* validationData = (spot__ValidationData*)mValidationDataStack.newObject(sizeof(spot__ValidationData));
        memset(validationData, 0, sizeof(spot__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__spot()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spot__ValidationData* validationData = (spot__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SPOT, (const ParserChar*)0, "child: color" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__falloff_angle( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spot__ValidationData* parentValidationData = (spot__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_FALLOFF_ANGLE, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->falloff_exponent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FALLOFF_ANGLE, (const ParserChar*)0, "sibling: falloff_exponent" ) )
                return false;
        }
        if ( parentValidationData->falloff_angle >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FALLOFF_ANGLE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->falloff_angle++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__falloff_angle()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__falloff_exponent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spot__ValidationData* parentValidationData = (spot__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_FALLOFF_EXPONENT, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->falloff_exponent >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FALLOFF_EXPONENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->falloff_exponent++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__falloff_exponent()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_materials( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_MATERIALS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_MATERIALS;
        }
//        parentValidationData->library_materials++;

        library_materials__ValidationData* validationData = (library_materials__ValidationData*)mValidationDataStack.newObject(sizeof(library_materials__ValidationData));
        memset(validationData, 0, sizeof(library_materials__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_materials()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_materials__ValidationData* validationData = (library_materials__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->material < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_MATERIALS, (const ParserChar*)0, "child: material" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_materials__ValidationData* parentValidationData = (library_materials__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MATERIAL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->material++;

        material__ValidationData* validationData = (material__ValidationData*)mValidationDataStack.newObject(sizeof(material__ValidationData));
        memset(validationData, 0, sizeof(material__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__material()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        material__ValidationData* validationData = (material__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->instance_effect < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_MATERIAL, (const ParserChar*)0, "child: instance_effect" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_effect( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 394:
        {
        material__ValidationData* parentValidationData = (material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_EFFECT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->instance_effect >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INSTANCE_EFFECT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->instance_effect++;

        break;
        }

        case 437:
        {
        render__ValidationData* parentValidationData = (render__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_effect >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INSTANCE_EFFECT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->instance_effect++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        instance_effect__ValidationData* validationData = (instance_effect__ValidationData*)mValidationDataStack.newObject(sizeof(instance_effect__ValidationData));
        memset(validationData, 0, sizeof(instance_effect__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_effect()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_effect__ValidationData* validationData = (instance_effect__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__technique_hint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_effect__ValidationData* parentValidationData = (instance_effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->setparam != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_HINT, (const ParserChar*)0, "sibling: setparam" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_HINT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->technique_hint++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__technique_hint()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_effect__setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_effect__ValidationData* parentValidationData = (instance_effect__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->setparam++;

        instance_effect__setparam__ValidationData* validationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.newObject(sizeof(instance_effect__setparam__ValidationData));
        memset(validationData, 0, sizeof(instance_effect__setparam__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_effect__setparam()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_effect__setparam__ValidationData* validationData = (instance_effect__setparam__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_nodes( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_NODES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_NODES;
        }
//        parentValidationData->library_nodes++;

        library_nodes__ValidationData* validationData = (library_nodes__ValidationData*)mValidationDataStack.newObject(sizeof(library_nodes__ValidationData));
        memset(validationData, 0, sizeof(library_nodes__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_nodes()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_nodes__ValidationData* validationData = (library_nodes__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->node < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_NODES, (const ParserChar*)0, "child: node" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NodeType( ParserString value )
{
    return validate__NodeType( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NodeType( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NodeType__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__NodeType__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__node( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 433:
        {
        library_nodes__ValidationData* parentValidationData = (library_nodes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_NODE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->node++;

        break;
        }

        case 87:
        {
        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CONTROLLER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_LIGHT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_NODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_NODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NODE;
        }
//        parentValidationData->node++;

        break;
        }

        case 506:
        {
        visual_scene__ValidationData* parentValidationData = (visual_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->evaluate_scene != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_NODE, (const ParserChar*)0, "sibling: evaluate_scene" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_NODE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->node++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        node__ValidationData* validationData = (node__ValidationData*)mValidationDataStack.newObject(sizeof(node__ValidationData));
        memset(validationData, 0, sizeof(node__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__node()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* validationData = (node__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ASSET) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_CONTROLLER) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_LIGHT) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_NODE) || (validationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (validationData->validation_current_state == HASH_ELEMENT_MATRIX) || (validationData->validation_current_state == HASH_ELEMENT_NODE) || (validationData->validation_current_state == HASH_ELEMENT_ROTATE) || (validationData->validation_current_state == HASH_ELEMENT_SCALE) || (validationData->validation_current_state == HASH_ELEMENT_SKEW) || (validationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_NODE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__lookat( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LOOKAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LOOKAT;
        }
//        parentValidationData->lookat++;

        lookat__ValidationData* validationData = (lookat__ValidationData*)mValidationDataStack.newObject(sizeof(lookat__ValidationData));
        memset(validationData, 0, sizeof(lookat__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__lookat()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATRIX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATRIX;
        }
//        parentValidationData->matrix++;

        matrix__ValidationData* validationData = (matrix__ValidationData*)mValidationDataStack.newObject(sizeof(matrix__ValidationData));
        memset(validationData, 0, sizeof(matrix__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__matrix()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rotate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 478:
        {
        attachment__ValidationData* parentValidationData = (attachment__ValidationData*)mValidationDataStack.top();
        parentValidationData->rotate++;

        break;
        }

        case 262:
        {
        instance_rigid_body__technique_common__mass_frame__ValidationData* parentValidationData = (instance_rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.top();
        parentValidationData->rotate++;

        break;
        }

        case 263:
        {
        rigid_body__technique_common__mass_frame__ValidationData* parentValidationData = (rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.top();
        parentValidationData->rotate++;

        break;
        }

        case 87:
        {
        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ROTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ROTATE;
        }
//        parentValidationData->rotate++;

        break;
        }

        case 25:
        {
        ref_attachment__ValidationData* parentValidationData = (ref_attachment__ValidationData*)mValidationDataStack.top();
        parentValidationData->rotate++;

        break;
        }

        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BOX) || (parentValidationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SPHERE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ROTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ROTATE;
        }
//        parentValidationData->rotate++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BOX) || (parentValidationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SPHERE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ROTATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ROTATE;
        }
//        parentValidationData->rotate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        rotate__ValidationData* validationData = (rotate__ValidationData*)mValidationDataStack.newObject(sizeof(rotate__ValidationData));
        memset(validationData, 0, sizeof(rotate__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rotate()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__scale( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCALE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCALE;
        }
//        parentValidationData->scale++;

        color____TargetableFloat3__ValidationData* validationData = (color____TargetableFloat3__ValidationData*)mValidationDataStack.newObject(sizeof(color____TargetableFloat3__ValidationData));
        memset(validationData, 0, sizeof(color____TargetableFloat3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__scale()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float7( const float* value, size_t length )
{
    if( length < 7 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 7 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float7__stream( const float* value, size_t length )
{

    if( length > 7 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__float7__streamEnd( const float* value, size_t length )
{
    if( length < 7 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 7 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__skew( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SKEW, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SKEW;
        }
//        parentValidationData->skew++;

        skew__ValidationData* validationData = (skew__ValidationData*)mValidationDataStack.newObject(sizeof(skew__ValidationData));
        memset(validationData, 0, sizeof(skew__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__skew()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__translate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 478:
        {
        attachment__ValidationData* parentValidationData = (attachment__ValidationData*)mValidationDataStack.top();
        parentValidationData->translate++;

        break;
        }

        case 262:
        {
        instance_rigid_body__technique_common__mass_frame__ValidationData* parentValidationData = (instance_rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.top();
        parentValidationData->translate++;

        break;
        }

        case 263:
        {
        rigid_body__technique_common__mass_frame__ValidationData* parentValidationData = (rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.top();
        parentValidationData->translate++;

        break;
        }

        case 87:
        {
        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRANSLATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRANSLATE;
        }
//        parentValidationData->translate++;

        break;
        }

        case 25:
        {
        ref_attachment__ValidationData* parentValidationData = (ref_attachment__ValidationData*)mValidationDataStack.top();
        parentValidationData->translate++;

        break;
        }

        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BOX) || (parentValidationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SPHERE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRANSLATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRANSLATE;
        }
//        parentValidationData->translate++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BOX) || (parentValidationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SPHERE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TRANSLATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TRANSLATE;
        }
//        parentValidationData->translate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        color____TargetableFloat3__ValidationData* validationData = (color____TargetableFloat3__ValidationData*)mValidationDataStack.newObject(sizeof(color____TargetableFloat3__ValidationData));
        memset(validationData, 0, sizeof(color____TargetableFloat3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__translate()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_camera( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_CAMERA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_CAMERA;
        }
//        parentValidationData->instance_camera++;

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_camera()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_controller( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CONTROLLER) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_CONTROLLER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_CONTROLLER;
        }
//        parentValidationData->instance_controller++;

        instance_controller__ValidationData* validationData = (instance_controller__ValidationData*)mValidationDataStack.newObject(sizeof(instance_controller__ValidationData));
        memset(validationData, 0, sizeof(instance_controller__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_controller()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_controller__ValidationData* validationData = (instance_controller__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__skeleton( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_controller__ValidationData* parentValidationData = (instance_controller__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->bind_material != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SKELETON, (const ParserChar*)0, "sibling: bind_material" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SKELETON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->skeleton++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__skeleton()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bind_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 251:
        {
        instance_controller__ValidationData* parentValidationData = (instance_controller__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND_MATERIAL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->bind_material >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BIND_MATERIAL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->bind_material++;

        break;
        }

        case 285:
        {
        instance_geometry__ValidationData* parentValidationData = (instance_geometry__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND_MATERIAL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->bind_material >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BIND_MATERIAL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->bind_material++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bind_material__ValidationData* validationData = (bind_material__ValidationData*)mValidationDataStack.newObject(sizeof(bind_material__ValidationData));
        memset(validationData, 0, sizeof(bind_material__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bind_material()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        bind_material__ValidationData* validationData = (bind_material__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BIND_MATERIAL, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bind_material__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        bind_material__ValidationData* parentValidationData = (bind_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        bind_material__technique_common__ValidationData* validationData = (bind_material__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(bind_material__technique_common__ValidationData));
        memset(validationData, 0, sizeof(bind_material__technique_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bind_material__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        bind_material__technique_common__ValidationData* validationData = (bind_material__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->instance_material < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "child: instance_material" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        bind_material__technique_common__ValidationData* parentValidationData = (bind_material__technique_common__ValidationData*)mValidationDataStack.top();
        parentValidationData->instance_material++;

        instance_material__ValidationData* validationData = (instance_material__ValidationData*)mValidationDataStack.newObject(sizeof(instance_material__ValidationData));
        memset(validationData, 0, sizeof(instance_material__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_material()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_material__ValidationData* validationData = (instance_material__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_material__bind( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_material__ValidationData* parentValidationData = (instance_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->bind_vertex_input != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND, (const ParserChar*)0, "sibling: bind_vertex_input" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->bind++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_material__bind()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bind_vertex_input( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_material__ValidationData* parentValidationData = (instance_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BIND_VERTEX_INPUT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->bind_vertex_input++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bind_vertex_input()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_geometry( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 87:
        {
        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CONTROLLER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_GEOMETRY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_GEOMETRY;
        }
//        parentValidationData->instance_geometry++;

        break;
        }

        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_GEOMETRY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_GEOMETRY;
        }
//        parentValidationData->instance_geometry++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_GEOMETRY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_GEOMETRY;
        }
//        parentValidationData->instance_geometry++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        instance_geometry__ValidationData* validationData = (instance_geometry__ValidationData*)mValidationDataStack.newObject(sizeof(instance_geometry__ValidationData));
        memset(validationData, 0, sizeof(instance_geometry__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_geometry()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_geometry__ValidationData* validationData = (instance_geometry__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_light( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CONTROLLER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_LIGHT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_LIGHT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_LIGHT;
        }
//        parentValidationData->instance_light++;

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_light()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_node( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        node__ValidationData* parentValidationData = (node__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CAMERA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_CONTROLLER) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_LIGHT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_NODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOOKAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_ROTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCALE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SKEW) || (parentValidationData->validation_current_state == HASH_ELEMENT_TRANSLATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_NODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_NODE;
        }
//        parentValidationData->instance_node++;

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_node()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_physics_materials( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS;
        }
//        parentValidationData->library_physics_materials++;

        library_physics_materials__ValidationData* validationData = (library_physics_materials__ValidationData*)mValidationDataStack.newObject(sizeof(library_physics_materials__ValidationData));
        memset(validationData, 0, sizeof(library_physics_materials__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_physics_materials()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_physics_materials__ValidationData* validationData = (library_physics_materials__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->physics_material < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS, (const ParserChar*)0, "child: physics_material" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__physics_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 599:
        {
        library_physics_materials__ValidationData* parentValidationData = (library_physics_materials__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PHYSICS_MATERIAL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->physics_material++;

        break;
        }

        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PHYSICS_MATERIAL;
        }
//        parentValidationData->physics_material++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PHYSICS_MATERIAL;
        }
//        parentValidationData->physics_material++;

        break;
        }

        case 554:
        {
        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_INERTIA) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PHYSICS_MATERIAL;
        }
//        parentValidationData->physics_material++;

        break;
        }

        case 559:
        {
        rigid_body__technique_common__ValidationData* parentValidationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_INERTIA) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PHYSICS_MATERIAL;
        }
//        parentValidationData->physics_material++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        physics_material__ValidationData* validationData = (physics_material__ValidationData*)mValidationDataStack.newObject(sizeof(physics_material__ValidationData));
        memset(validationData, 0, sizeof(physics_material__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__physics_material()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_material__ValidationData* validationData = (physics_material__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_PHYSICS_MATERIAL, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__physics_material__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_material__ValidationData* parentValidationData = (physics_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        physics_material__technique_common__ValidationData* validationData = (physics_material__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(physics_material__technique_common__ValidationData));
        memset(validationData, 0, sizeof(physics_material__technique_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__physics_material__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_material__technique_common__ValidationData* validationData = (physics_material__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__dynamic_friction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_material__technique_common__ValidationData* parentValidationData = (physics_material__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->restitution != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DYNAMIC_FRICTION, (const ParserChar*)0, "sibling: restitution" ) )
                return false;
        }
        if ( parentValidationData->static_friction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DYNAMIC_FRICTION, (const ParserChar*)0, "sibling: static_friction" ) )
                return false;
        }
        if ( parentValidationData->dynamic_friction >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DYNAMIC_FRICTION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->dynamic_friction++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__dynamic_friction()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__restitution( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_material__technique_common__ValidationData* parentValidationData = (physics_material__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->static_friction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RESTITUTION, (const ParserChar*)0, "sibling: static_friction" ) )
                return false;
        }
        if ( parentValidationData->restitution >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RESTITUTION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->restitution++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__restitution()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__static_friction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_material__technique_common__ValidationData* parentValidationData = (physics_material__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->static_friction >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_STATIC_FRICTION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->static_friction++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__static_friction()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_physics_models( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_PHYSICS_MODELS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_PHYSICS_MODELS;
        }
//        parentValidationData->library_physics_models++;

        library_physics_models__ValidationData* validationData = (library_physics_models__ValidationData*)mValidationDataStack.newObject(sizeof(library_physics_models__ValidationData));
        memset(validationData, 0, sizeof(library_physics_models__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_physics_models()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_physics_models__ValidationData* validationData = (library_physics_models__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->physics_model < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_PHYSICS_MODELS, (const ParserChar*)0, "child: physics_model" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__physics_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_physics_models__ValidationData* parentValidationData = (library_physics_models__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PHYSICS_MODEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->physics_model++;

        physics_model__ValidationData* validationData = (physics_model__ValidationData*)mValidationDataStack.newObject(sizeof(physics_model__ValidationData));
        memset(validationData, 0, sizeof(physics_model__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__physics_model()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_model__ValidationData* validationData = (physics_model__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_body( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_model__ValidationData* parentValidationData = (physics_model__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->rigid_constraint != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RIGID_BODY, (const ParserChar*)0, "sibling: rigid_constraint" ) )
                return false;
        }
        if ( parentValidationData->instance_physics_model != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RIGID_BODY, (const ParserChar*)0, "sibling: instance_physics_model" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RIGID_BODY, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->rigid_body++;

        rigid_body__ValidationData* validationData = (rigid_body__ValidationData*)mValidationDataStack.newObject(sizeof(rigid_body__ValidationData));
        memset(validationData, 0, sizeof(rigid_body__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_body()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__ValidationData* validationData = (rigid_body__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_RIGID_BODY, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_body__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__ValidationData* parentValidationData = (rigid_body__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        rigid_body__technique_common__ValidationData* validationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(rigid_body__technique_common__ValidationData));
        memset(validationData, 0, sizeof(rigid_body__technique_common__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_body__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__technique_common__ValidationData* validationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_SHAPE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_body__technique_common__dynamic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__technique_common__ValidationData* parentValidationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DYNAMIC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DYNAMIC;
        }
//        parentValidationData->dynamic++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_body__technique_common__dynamic()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__mass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MASS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MASS;
        }
//        parentValidationData->mass++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MASS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MASS;
        }
//        parentValidationData->mass++;

        break;
        }

        case 554:
        {
        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MASS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MASS;
        }
//        parentValidationData->mass++;

        break;
        }

        case 559:
        {
        rigid_body__technique_common__ValidationData* parentValidationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MASS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MASS;
        }
//        parentValidationData->mass++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__mass()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_body__technique_common__mass_frame( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__technique_common__ValidationData* parentValidationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MASS_FRAME;
        }
//        parentValidationData->mass_frame++;

        rigid_body__technique_common__mass_frame__ValidationData* validationData = (rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.newObject(sizeof(rigid_body__technique_common__mass_frame__ValidationData));
        memset(validationData, 0, sizeof(rigid_body__technique_common__mass_frame__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_body__technique_common__mass_frame()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__technique_common__mass_frame__ValidationData* validationData = (rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->translate != 0 )
            if ( validationData->translate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, "child: translate" ) )
                    return false;
        if ( validationData->rotate != 0 )
            if ( validationData->rotate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, "child: rotate" ) )
                    return false;
        if ( validationData->translate == 0 && validationData->rotate == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__inertia( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 554:
        {
        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INERTIA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INERTIA;
        }
//        parentValidationData->inertia++;

        break;
        }

        case 559:
        {
        rigid_body__technique_common__ValidationData* parentValidationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INERTIA, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INERTIA;
        }
//        parentValidationData->inertia++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        color____TargetableFloat3__ValidationData* validationData = (color____TargetableFloat3__ValidationData*)mValidationDataStack.newObject(sizeof(color____TargetableFloat3__ValidationData));
        memset(validationData, 0, sizeof(color____TargetableFloat3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__inertia()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_physics_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL;
        }
//        parentValidationData->instance_physics_material++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL;
        }
//        parentValidationData->instance_physics_material++;

        break;
        }

        case 554:
        {
        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_INERTIA) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL;
        }
//        parentValidationData->instance_physics_material++;

        break;
        }

        case 559:
        {
        rigid_body__technique_common__ValidationData* parentValidationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_INERTIA) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL;
        }
//        parentValidationData->instance_physics_material++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_physics_material()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_body__technique_common__shape( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__technique_common__ValidationData* parentValidationData = (rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_INERTIA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHAPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SHAPE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SHAPE;
        }
//        parentValidationData->shape++;

        rigid_body__technique_common__shape__ValidationData* validationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.newObject(sizeof(rigid_body__technique_common__shape__ValidationData));
        memset(validationData, 0, sizeof(rigid_body__technique_common__shape__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_body__technique_common__shape()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__technique_common__shape__ValidationData* validationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOX) || (validationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (validationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (validationData->validation_current_state == HASH_ELEMENT_PLANE) || (validationData->validation_current_state == HASH_ELEMENT_ROTATE) || (validationData->validation_current_state == HASH_ELEMENT_SPHERE) || (validationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (validationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (validationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SHAPE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_body__technique_common__shape__hollow( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HOLLOW, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HOLLOW;
        }
//        parentValidationData->hollow++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_body__technique_common__shape__hollow()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__density( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DENSITY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DENSITY;
        }
//        parentValidationData->density++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DENSITY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DENSITY;
        }
//        parentValidationData->density++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__density()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__plane( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PLANE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PLANE;
        }
//        parentValidationData->plane++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PLANE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PLANE;
        }
//        parentValidationData->plane++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        plane__ValidationData* validationData = (plane__ValidationData*)mValidationDataStack.newObject(sizeof(plane__ValidationData));
        memset(validationData, 0, sizeof(plane__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__plane()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        plane__ValidationData* validationData = (plane__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->equation < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_PLANE, (const ParserChar*)0, "child: equation" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__equation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        plane__ValidationData* parentValidationData = (plane__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EQUATION, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->equation >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_EQUATION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->equation++;

        float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.newObject(sizeof(float4____float4__ValidationData));
        memset(validationData, 0, sizeof(float4____float4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__equation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__box( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOX;
        }
//        parentValidationData->box++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOX;
        }
//        parentValidationData->box++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        box__ValidationData* validationData = (box__ValidationData*)mValidationDataStack.newObject(sizeof(box__ValidationData));
        memset(validationData, 0, sizeof(box__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__box()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        box__ValidationData* validationData = (box__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->half_extents < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BOX, (const ParserChar*)0, "child: half_extents" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half_extents( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        box__ValidationData* parentValidationData = (box__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HALF_EXTENTS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->half_extents >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_HALF_EXTENTS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->half_extents++;

        float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____float3__ValidationData));
        memset(validationData, 0, sizeof(float3____float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half_extents()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sphere( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SPHERE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SPHERE;
        }
//        parentValidationData->sphere++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SPHERE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SPHERE;
        }
//        parentValidationData->sphere++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sphere__ValidationData* validationData = (sphere__ValidationData*)mValidationDataStack.newObject(sizeof(sphere__ValidationData));
        memset(validationData, 0, sizeof(sphere__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sphere()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sphere__ValidationData* validationData = (sphere__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->radius < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SPHERE, (const ParserChar*)0, "child: radius" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__radius____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sphere__ValidationData* parentValidationData = (sphere__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->radius >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RADIUS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->radius++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__radius____float()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__cylinder( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CYLINDER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CYLINDER;
        }
//        parentValidationData->cylinder++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CYLINDER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CYLINDER;
        }
//        parentValidationData->cylinder++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        cylinder__ValidationData* validationData = (cylinder__ValidationData*)mValidationDataStack.newObject(sizeof(cylinder__ValidationData));
        memset(validationData, 0, sizeof(cylinder__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__cylinder()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        cylinder__ValidationData* validationData = (cylinder__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->height < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_CYLINDER, (const ParserChar*)0, "child: height" ) )
                return false;
        }
        if ( validationData->radius < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_CYLINDER, (const ParserChar*)0, "child: radius" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__height( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 231:
        {
        capsule__ValidationData* parentValidationData = (capsule__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: radius" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->height >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->height++;

        break;
        }

        case 436:
        {
        cylinder__ValidationData* parentValidationData = (cylinder__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: radius" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->height >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->height++;

        break;
        }

        case 514:
        {
        tapered_capsule__ValidationData* parentValidationData = (tapered_capsule__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius1 != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: radius1" ) )
                return false;
        }
        if ( parentValidationData->radius2 != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: radius2" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->height >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->height++;

        break;
        }

        case 254:
        {
        tapered_cylinder__ValidationData* parentValidationData = (tapered_cylinder__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius1 != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: radius1" ) )
                return false;
        }
        if ( parentValidationData->radius2 != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: radius2" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->height >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->height++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__height()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__radius____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 231:
        {
        capsule__ValidationData* parentValidationData = (capsule__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->height < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_RADIUS, (const ParserChar*)0, "sibling: height" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->radius >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RADIUS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->radius++;

        break;
        }

        case 436:
        {
        cylinder__ValidationData* parentValidationData = (cylinder__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->height < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_RADIUS, (const ParserChar*)0, "sibling: height" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->radius >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RADIUS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->radius++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____float2__ValidationData));
        memset(validationData, 0, sizeof(float2____float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__radius____float2()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__tapered_cylinder( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TAPERED_CYLINDER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TAPERED_CYLINDER;
        }
//        parentValidationData->tapered_cylinder++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TAPERED_CYLINDER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TAPERED_CYLINDER;
        }
//        parentValidationData->tapered_cylinder++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        tapered_cylinder__ValidationData* validationData = (tapered_cylinder__ValidationData*)mValidationDataStack.newObject(sizeof(tapered_cylinder__ValidationData));
        memset(validationData, 0, sizeof(tapered_cylinder__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__tapered_cylinder()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        tapered_cylinder__ValidationData* validationData = (tapered_cylinder__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->height < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TAPERED_CYLINDER, (const ParserChar*)0, "child: height" ) )
                return false;
        }
        if ( validationData->radius1 < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TAPERED_CYLINDER, (const ParserChar*)0, "child: radius1" ) )
                return false;
        }
        if ( validationData->radius2 < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TAPERED_CYLINDER, (const ParserChar*)0, "child: radius2" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__radius1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 514:
        {
        tapered_capsule__ValidationData* parentValidationData = (tapered_capsule__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->height < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, "sibling: height" ) )
                return false;
        }
        if ( parentValidationData->radius2 != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, "sibling: radius2" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->radius1 >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->radius1++;

        break;
        }

        case 254:
        {
        tapered_cylinder__ValidationData* parentValidationData = (tapered_cylinder__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->height < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, "sibling: height" ) )
                return false;
        }
        if ( parentValidationData->radius2 != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, "sibling: radius2" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->radius1 >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RADIUS1, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->radius1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____float2__ValidationData));
        memset(validationData, 0, sizeof(float2____float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__radius1()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__radius2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 514:
        {
        tapered_capsule__ValidationData* parentValidationData = (tapered_capsule__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius1 < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_RADIUS2, (const ParserChar*)0, "sibling: radius1" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS2, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->radius2 >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RADIUS2, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->radius2++;

        break;
        }

        case 254:
        {
        tapered_cylinder__ValidationData* parentValidationData = (tapered_cylinder__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->radius1 < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_RADIUS2, (const ParserChar*)0, "sibling: radius1" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RADIUS2, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->radius2 >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RADIUS2, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->radius2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____float2__ValidationData));
        memset(validationData, 0, sizeof(float2____float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__radius2()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__capsule( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CAPSULE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CAPSULE;
        }
//        parentValidationData->capsule++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CAPSULE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CAPSULE;
        }
//        parentValidationData->capsule++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        capsule__ValidationData* validationData = (capsule__ValidationData*)mValidationDataStack.newObject(sizeof(capsule__ValidationData));
        memset(validationData, 0, sizeof(capsule__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__capsule()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        capsule__ValidationData* validationData = (capsule__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->height < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_CAPSULE, (const ParserChar*)0, "child: height" ) )
                return false;
        }
        if ( validationData->radius < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_CAPSULE, (const ParserChar*)0, "child: radius" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__tapered_capsule( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 588:
        {
        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TAPERED_CAPSULE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TAPERED_CAPSULE;
        }
//        parentValidationData->tapered_capsule++;

        break;
        }

        case 589:
        {
        rigid_body__technique_common__shape__ValidationData* parentValidationData = (rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_HOLLOW) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TAPERED_CAPSULE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TAPERED_CAPSULE;
        }
//        parentValidationData->tapered_capsule++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        tapered_capsule__ValidationData* validationData = (tapered_capsule__ValidationData*)mValidationDataStack.newObject(sizeof(tapered_capsule__ValidationData));
        memset(validationData, 0, sizeof(tapered_capsule__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__tapered_capsule()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        tapered_capsule__ValidationData* validationData = (tapered_capsule__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->height < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TAPERED_CAPSULE, (const ParserChar*)0, "child: height" ) )
                return false;
        }
        if ( validationData->radius1 < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TAPERED_CAPSULE, (const ParserChar*)0, "child: radius1" ) )
                return false;
        }
        if ( validationData->radius2 < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TAPERED_CAPSULE, (const ParserChar*)0, "child: radius2" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_constraint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_model__ValidationData* parentValidationData = (physics_model__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_physics_model != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RIGID_CONSTRAINT, (const ParserChar*)0, "sibling: instance_physics_model" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RIGID_CONSTRAINT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->rigid_constraint++;

        rigid_constraint__ValidationData* validationData = (rigid_constraint__ValidationData*)mValidationDataStack.newObject(sizeof(rigid_constraint__ValidationData));
        memset(validationData, 0, sizeof(rigid_constraint__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_constraint()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__ValidationData* validationData = (rigid_constraint__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->ref_attachment < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_RIGID_CONSTRAINT, (const ParserChar*)0, "child: ref_attachment" ) )
                return false;
        }
        if ( validationData->attachment < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_RIGID_CONSTRAINT, (const ParserChar*)0, "child: attachment" ) )
                return false;
        }
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_RIGID_CONSTRAINT, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__ref_attachment( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__ValidationData* parentValidationData = (rigid_constraint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->attachment != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REF_ATTACHMENT, (const ParserChar*)0, "sibling: attachment" ) )
                return false;
        }
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REF_ATTACHMENT, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REF_ATTACHMENT, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REF_ATTACHMENT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->ref_attachment >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REF_ATTACHMENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ref_attachment++;

        ref_attachment__ValidationData* validationData = (ref_attachment__ValidationData*)mValidationDataStack.newObject(sizeof(ref_attachment__ValidationData));
        memset(validationData, 0, sizeof(ref_attachment__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__ref_attachment()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        ref_attachment__ValidationData* validationData = (ref_attachment__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->translate != 0 )
            if ( validationData->translate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_REF_ATTACHMENT, (const ParserChar*)0, "child: translate" ) )
                    return false;
        if ( validationData->rotate != 0 )
            if ( validationData->rotate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_REF_ATTACHMENT, (const ParserChar*)0, "child: rotate" ) )
                    return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__attachment( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__ValidationData* parentValidationData = (rigid_constraint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ref_attachment < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ATTACHMENT, (const ParserChar*)0, "sibling: ref_attachment" ) )
                return false;
        }
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ATTACHMENT, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ATTACHMENT, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ATTACHMENT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->attachment >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ATTACHMENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->attachment++;

        attachment__ValidationData* validationData = (attachment__ValidationData*)mValidationDataStack.newObject(sizeof(attachment__ValidationData));
        memset(validationData, 0, sizeof(attachment__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__attachment()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        attachment__ValidationData* validationData = (attachment__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->translate != 0 )
            if ( validationData->translate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ATTACHMENT, (const ParserChar*)0, "child: translate" ) )
                    return false;
        if ( validationData->rotate != 0 )
            if ( validationData->rotate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ATTACHMENT, (const ParserChar*)0, "child: rotate" ) )
                    return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rigid_constraint__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__ValidationData* parentValidationData = (rigid_constraint__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->attachment < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: attachment" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        rigid_constraint__technique_common__ValidationData* validationData = (rigid_constraint__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(rigid_constraint__technique_common__ValidationData));
        memset(validationData, 0, sizeof(rigid_constraint__technique_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rigid_constraint__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__technique_common__ValidationData* validationData = (rigid_constraint__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__enabled( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__technique_common__ValidationData* parentValidationData = (rigid_constraint__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->interpenetrate != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ENABLED, (const ParserChar*)0, "sibling: interpenetrate" ) )
                return false;
        }
        if ( parentValidationData->limits != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ENABLED, (const ParserChar*)0, "sibling: limits" ) )
                return false;
        }
        if ( parentValidationData->spring != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ENABLED, (const ParserChar*)0, "sibling: spring" ) )
                return false;
        }
        if ( parentValidationData->enabled >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ENABLED, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->enabled++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__enabled()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__interpenetrate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__technique_common__ValidationData* parentValidationData = (rigid_constraint__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->limits != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INTERPENETRATE, (const ParserChar*)0, "sibling: limits" ) )
                return false;
        }
        if ( parentValidationData->spring != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INTERPENETRATE, (const ParserChar*)0, "sibling: spring" ) )
                return false;
        }
        if ( parentValidationData->interpenetrate >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INTERPENETRATE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->interpenetrate++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__interpenetrate()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__limits( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__technique_common__ValidationData* parentValidationData = (rigid_constraint__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->spring != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_LIMITS, (const ParserChar*)0, "sibling: spring" ) )
                return false;
        }
        if ( parentValidationData->limits >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_LIMITS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->limits++;

        limits__ValidationData* validationData = (limits__ValidationData*)mValidationDataStack.newObject(sizeof(limits__ValidationData));
        memset(validationData, 0, sizeof(limits__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__limits()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        limits__ValidationData* validationData = (limits__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__swing_cone_and_twist( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        limits__ValidationData* parentValidationData = (limits__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->linear != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SWING_CONE_AND_TWIST, (const ParserChar*)0, "sibling: linear" ) )
                return false;
        }
        if ( parentValidationData->swing_cone_and_twist >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SWING_CONE_AND_TWIST, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->swing_cone_and_twist++;

        swing_cone_and_twist__ValidationData* validationData = (swing_cone_and_twist__ValidationData*)mValidationDataStack.newObject(sizeof(swing_cone_and_twist__ValidationData));
        memset(validationData, 0, sizeof(swing_cone_and_twist__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__swing_cone_and_twist()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        swing_cone_and_twist__ValidationData* validationData = (swing_cone_and_twist__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__min( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 53:
        {
        limits__linear__ValidationData* parentValidationData = (limits__linear__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->max != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIN, (const ParserChar*)0, "sibling: max" ) )
                return false;
        }
        if ( parentValidationData->min >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIN, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->min++;

        break;
        }

        case 461:
        {
        swing_cone_and_twist__ValidationData* parentValidationData = (swing_cone_and_twist__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->max != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_MIN, (const ParserChar*)0, "sibling: max" ) )
                return false;
        }
        if ( parentValidationData->min >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MIN, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->min++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        color____TargetableFloat3__ValidationData* validationData = (color____TargetableFloat3__ValidationData*)mValidationDataStack.newObject(sizeof(color____TargetableFloat3__ValidationData));
        memset(validationData, 0, sizeof(color____TargetableFloat3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__min()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__max( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 53:
        {
        limits__linear__ValidationData* parentValidationData = (limits__linear__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->max >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAX, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->max++;

        break;
        }

        case 461:
        {
        swing_cone_and_twist__ValidationData* parentValidationData = (swing_cone_and_twist__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->max >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MAX, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->max++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        color____TargetableFloat3__ValidationData* validationData = (color____TargetableFloat3__ValidationData*)mValidationDataStack.newObject(sizeof(color____TargetableFloat3__ValidationData));
        memset(validationData, 0, sizeof(color____TargetableFloat3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__max()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__limits__linear( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        limits__ValidationData* parentValidationData = (limits__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->linear >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_LINEAR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->linear++;

        limits__linear__ValidationData* validationData = (limits__linear__ValidationData*)mValidationDataStack.newObject(sizeof(limits__linear__ValidationData));
        memset(validationData, 0, sizeof(limits__linear__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__limits__linear()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        limits__linear__ValidationData* validationData = (limits__linear__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__spring( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        rigid_constraint__technique_common__ValidationData* parentValidationData = (rigid_constraint__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->spring >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SPRING, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->spring++;

        spring__ValidationData* validationData = (spring__ValidationData*)mValidationDataStack.newObject(sizeof(spring__ValidationData));
        memset(validationData, 0, sizeof(spring__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__spring()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spring__ValidationData* validationData = (spring__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__angular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spring__ValidationData* parentValidationData = (spring__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->linear != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ANGULAR, (const ParserChar*)0, "sibling: linear" ) )
                return false;
        }
        if ( parentValidationData->angular >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ANGULAR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->angular++;

        angular__ValidationData* validationData = (angular__ValidationData*)mValidationDataStack.newObject(sizeof(angular__ValidationData));
        memset(validationData, 0, sizeof(angular__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__angular()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        angular__ValidationData* validationData = (angular__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stiffness( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 456:
        {
        angular__ValidationData* parentValidationData = (angular__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->damping != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_STIFFNESS, (const ParserChar*)0, "sibling: damping" ) )
                return false;
        }
        if ( parentValidationData->target_value != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_STIFFNESS, (const ParserChar*)0, "sibling: target_value" ) )
                return false;
        }
        if ( parentValidationData->stiffness >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_STIFFNESS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->stiffness++;

        break;
        }

        case 54:
        {
        spring__linear__ValidationData* parentValidationData = (spring__linear__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->damping != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_STIFFNESS, (const ParserChar*)0, "sibling: damping" ) )
                return false;
        }
        if ( parentValidationData->target_value != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_STIFFNESS, (const ParserChar*)0, "sibling: target_value" ) )
                return false;
        }
        if ( parentValidationData->stiffness >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_STIFFNESS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->stiffness++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stiffness()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__damping( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 456:
        {
        angular__ValidationData* parentValidationData = (angular__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->target_value != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DAMPING, (const ParserChar*)0, "sibling: target_value" ) )
                return false;
        }
        if ( parentValidationData->damping >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DAMPING, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->damping++;

        break;
        }

        case 54:
        {
        spring__linear__ValidationData* parentValidationData = (spring__linear__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->target_value != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DAMPING, (const ParserChar*)0, "sibling: target_value" ) )
                return false;
        }
        if ( parentValidationData->damping >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DAMPING, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->damping++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__damping()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__target_value( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 456:
        {
        angular__ValidationData* parentValidationData = (angular__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->target_value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TARGET_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->target_value++;

        break;
        }

        case 54:
        {
        spring__linear__ValidationData* parentValidationData = (spring__linear__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->target_value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TARGET_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->target_value++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__target_value()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__spring__linear( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spring__ValidationData* parentValidationData = (spring__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->linear >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_LINEAR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->linear++;

        spring__linear__ValidationData* validationData = (spring__linear__ValidationData*)mValidationDataStack.newObject(sizeof(spring__linear__ValidationData));
        memset(validationData, 0, sizeof(spring__linear__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__spring__linear()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        spring__linear__ValidationData* validationData = (spring__linear__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_physics_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 586:
        {
        physics_model__ValidationData* parentValidationData = (physics_model__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_PHYSICS_MODEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_physics_model++;

        break;
        }

        case 532:
        {
        physics_scene__ValidationData* parentValidationData = (physics_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_PHYSICS_MODEL, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_PHYSICS_MODEL, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_PHYSICS_MODEL, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_physics_model++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        instance_physics_model__ValidationData* validationData = (instance_physics_model__ValidationData*)mValidationDataStack.newObject(sizeof(instance_physics_model__ValidationData));
        memset(validationData, 0, sizeof(instance_physics_model__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_physics_model()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_physics_model__ValidationData* validationData = (instance_physics_model__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_force_field( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 585:
        {
        instance_physics_model__ValidationData* parentValidationData = (instance_physics_model__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_rigid_body != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_FORCE_FIELD, (const ParserChar*)0, "sibling: instance_rigid_body" ) )
                return false;
        }
        if ( parentValidationData->instance_rigid_constraint != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_FORCE_FIELD, (const ParserChar*)0, "sibling: instance_rigid_constraint" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_FORCE_FIELD, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_force_field++;

        break;
        }

        case 532:
        {
        physics_scene__ValidationData* parentValidationData = (physics_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_physics_model != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_FORCE_FIELD, (const ParserChar*)0, "sibling: instance_physics_model" ) )
                return false;
        }
        if ( parentValidationData->technique_common != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_FORCE_FIELD, (const ParserChar*)0, "sibling: technique_common" ) )
                return false;
        }
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_FORCE_FIELD, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_FORCE_FIELD, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_force_field++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_force_field()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_rigid_body( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_physics_model__ValidationData* parentValidationData = (instance_physics_model__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_rigid_constraint != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_RIGID_BODY, (const ParserChar*)0, "sibling: instance_rigid_constraint" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_RIGID_BODY, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_rigid_body++;

        instance_rigid_body__ValidationData* validationData = (instance_rigid_body__ValidationData*)mValidationDataStack.newObject(sizeof(instance_rigid_body__ValidationData));
        memset(validationData, 0, sizeof(instance_rigid_body__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_rigid_body()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__ValidationData* validationData = (instance_rigid_body__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INSTANCE_RIGID_BODY, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_rigid_body__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__ValidationData* parentValidationData = (instance_rigid_body__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        instance_rigid_body__technique_common__ValidationData* validationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(instance_rigid_body__technique_common__ValidationData));
        memset(validationData, 0, sizeof(instance_rigid_body__technique_common__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_rigid_body__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__ValidationData* validationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (validationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (validationData->validation_current_state == HASH_ELEMENT_INERTIA) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (validationData->validation_current_state == HASH_ELEMENT_MASS) || (validationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (validationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (validationData->validation_current_state == HASH_ELEMENT_SHAPE) || (validationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__angular_velocity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ANGULAR_VELOCITY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ANGULAR_VELOCITY;
        }
//        parentValidationData->angular_velocity++;

        float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____float3__ValidationData));
        memset(validationData, 0, sizeof(float3____float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__angular_velocity()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__velocity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_VELOCITY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_VELOCITY;
        }
//        parentValidationData->velocity++;

        float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____float3__ValidationData));
        memset(validationData, 0, sizeof(float3____float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__velocity()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_rigid_body__technique_common__dynamic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DYNAMIC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DYNAMIC;
        }
//        parentValidationData->dynamic++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_rigid_body__technique_common__dynamic()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_rigid_body__technique_common__mass_frame( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MASS_FRAME;
        }
//        parentValidationData->mass_frame++;

        instance_rigid_body__technique_common__mass_frame__ValidationData* validationData = (instance_rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.newObject(sizeof(instance_rigid_body__technique_common__mass_frame__ValidationData));
        memset(validationData, 0, sizeof(instance_rigid_body__technique_common__mass_frame__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_rigid_body__technique_common__mass_frame()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__mass_frame__ValidationData* validationData = (instance_rigid_body__technique_common__mass_frame__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->translate != 0 )
            if ( validationData->translate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, "child: translate" ) )
                    return false;
        if ( validationData->rotate != 0 )
            if ( validationData->rotate < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, "child: rotate" ) )
                    return false;
        if ( validationData->translate == 0 && validationData->rotate == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_MASS_FRAME, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_rigid_body__technique_common__shape( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__ValidationData* parentValidationData = (instance_rigid_body__technique_common__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANGULAR_VELOCITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_DYNAMIC) || (parentValidationData->validation_current_state == HASH_ELEMENT_INERTIA) || (parentValidationData->validation_current_state == HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MASS_FRAME) || (parentValidationData->validation_current_state == HASH_ELEMENT_PHYSICS_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHAPE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VELOCITY) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SHAPE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SHAPE;
        }
//        parentValidationData->shape++;

        instance_rigid_body__technique_common__shape__ValidationData* validationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.newObject(sizeof(instance_rigid_body__technique_common__shape__ValidationData));
        memset(validationData, 0, sizeof(instance_rigid_body__technique_common__shape__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_rigid_body__technique_common__shape()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__shape__ValidationData* validationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOX) || (validationData->validation_current_state == HASH_ELEMENT_CAPSULE) || (validationData->validation_current_state == HASH_ELEMENT_CYLINDER) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_INSTANCE_GEOMETRY) || (validationData->validation_current_state == HASH_ELEMENT_PLANE) || (validationData->validation_current_state == HASH_ELEMENT_ROTATE) || (validationData->validation_current_state == HASH_ELEMENT_SPHERE) || (validationData->validation_current_state == HASH_ELEMENT_TAPERED_CAPSULE) || (validationData->validation_current_state == HASH_ELEMENT_TAPERED_CYLINDER) || (validationData->validation_current_state == HASH_ELEMENT_TRANSLATE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SHAPE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_rigid_body__technique_common__shape__hollow( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_body__technique_common__shape__ValidationData* parentValidationData = (instance_rigid_body__technique_common__shape__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HOLLOW, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HOLLOW;
        }
//        parentValidationData->hollow++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_rigid_body__technique_common__shape__hollow()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_rigid_constraint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_physics_model__ValidationData* parentValidationData = (instance_physics_model__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_RIGID_CONSTRAINT, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_rigid_constraint++;

        instance_rigid_constraint__ValidationData* validationData = (instance_rigid_constraint__ValidationData*)mValidationDataStack.newObject(sizeof(instance_rigid_constraint__ValidationData));
        memset(validationData, 0, sizeof(instance_rigid_constraint__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_rigid_constraint()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_rigid_constraint__ValidationData* validationData = (instance_rigid_constraint__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_physics_scenes( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_PHYSICS_SCENES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_PHYSICS_SCENES;
        }
//        parentValidationData->library_physics_scenes++;

        library_physics_scenes__ValidationData* validationData = (library_physics_scenes__ValidationData*)mValidationDataStack.newObject(sizeof(library_physics_scenes__ValidationData));
        memset(validationData, 0, sizeof(library_physics_scenes__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_physics_scenes()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_physics_scenes__ValidationData* validationData = (library_physics_scenes__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->physics_scene < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_PHYSICS_SCENES, (const ParserChar*)0, "child: physics_scene" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__physics_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_physics_scenes__ValidationData* parentValidationData = (library_physics_scenes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PHYSICS_SCENE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->physics_scene++;

        physics_scene__ValidationData* validationData = (physics_scene__ValidationData*)mValidationDataStack.newObject(sizeof(physics_scene__ValidationData));
        memset(validationData, 0, sizeof(physics_scene__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__physics_scene()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_scene__ValidationData* validationData = (physics_scene__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->technique_common < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_PHYSICS_SCENE, (const ParserChar*)0, "child: technique_common" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__physics_scene__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_scene__ValidationData* parentValidationData = (physics_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->technique != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: technique" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->technique_common >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TECHNIQUE_COMMON, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->technique_common++;

        physics_scene__technique_common__ValidationData* validationData = (physics_scene__technique_common__ValidationData*)mValidationDataStack.newObject(sizeof(physics_scene__technique_common__ValidationData));
        memset(validationData, 0, sizeof(physics_scene__technique_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__physics_scene__technique_common()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_scene__technique_common__ValidationData* validationData = (physics_scene__technique_common__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__gravity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_scene__technique_common__ValidationData* parentValidationData = (physics_scene__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->time_step != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_GRAVITY, (const ParserChar*)0, "sibling: time_step" ) )
                return false;
        }
        if ( parentValidationData->gravity >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_GRAVITY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->gravity++;

        color____TargetableFloat3__ValidationData* validationData = (color____TargetableFloat3__ValidationData*)mValidationDataStack.newObject(sizeof(color____TargetableFloat3__ValidationData));
        memset(validationData, 0, sizeof(color____TargetableFloat3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__gravity()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__time_step( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        physics_scene__technique_common__ValidationData* parentValidationData = (physics_scene__technique_common__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->time_step >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TIME_STEP, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->time_step++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__time_step()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__library_visual_scenes( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIBRARY_VISUAL_SCENES, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIBRARY_VISUAL_SCENES;
        }
//        parentValidationData->library_visual_scenes++;

        library_visual_scenes__ValidationData* validationData = (library_visual_scenes__ValidationData*)mValidationDataStack.newObject(sizeof(library_visual_scenes__ValidationData));
        memset(validationData, 0, sizeof(library_visual_scenes__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__library_visual_scenes()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_visual_scenes__ValidationData* validationData = (library_visual_scenes__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->visual_scene < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_LIBRARY_VISUAL_SCENES, (const ParserChar*)0, "child: visual_scene" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__visual_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        library_visual_scenes__ValidationData* parentValidationData = (library_visual_scenes__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VISUAL_SCENE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->visual_scene++;

        visual_scene__ValidationData* validationData = (visual_scene__ValidationData*)mValidationDataStack.newObject(sizeof(visual_scene__ValidationData));
        memset(validationData, 0, sizeof(visual_scene__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__visual_scene()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        visual_scene__ValidationData* validationData = (visual_scene__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->node < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VISUAL_SCENE, (const ParserChar*)0, "child: node" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__evaluate_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        visual_scene__ValidationData* parentValidationData = (visual_scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->node < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_EVALUATE_SCENE, (const ParserChar*)0, "sibling: node" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EVALUATE_SCENE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->evaluate_scene++;

        evaluate_scene__ValidationData* validationData = (evaluate_scene__ValidationData*)mValidationDataStack.newObject(sizeof(evaluate_scene__ValidationData));
        memset(validationData, 0, sizeof(evaluate_scene__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__evaluate_scene()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        evaluate_scene__ValidationData* validationData = (evaluate_scene__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->render < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_EVALUATE_SCENE, (const ParserChar*)0, "child: render" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__render( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        evaluate_scene__ValidationData* parentValidationData = (evaluate_scene__ValidationData*)mValidationDataStack.top();
        parentValidationData->render++;

        render__ValidationData* validationData = (render__ValidationData*)mValidationDataStack.newObject(sizeof(render__ValidationData));
        memset(validationData, 0, sizeof(render__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__render()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        render__ValidationData* validationData = (render__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__layer( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        render__ValidationData* parentValidationData = (render__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_effect != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_LAYER, (const ParserChar*)0, "sibling: instance_effect" ) )
                return false;
        }
        parentValidationData->layer++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__layer()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        COLLADA__ValidationData* parentValidationData = (COLLADA__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CAMERAS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_CONTROLLERS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_EFFECTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_FORCE_FIELDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_GEOMETRIES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_IMAGES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_LIGHTS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_NODES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_MODELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_PHYSICS_SCENES) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIBRARY_VISUAL_SCENES) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCENE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCENE;
        }
//        parentValidationData->scene++;

        scene__ValidationData* validationData = (scene__ValidationData*)mValidationDataStack.newObject(sizeof(scene__ValidationData));
        memset(validationData, 0, sizeof(scene__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__scene()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        scene__ValidationData* validationData = (scene__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_physics_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        scene__ValidationData* parentValidationData = (scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->instance_visual_scene != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_PHYSICS_SCENE, (const ParserChar*)0, "sibling: instance_visual_scene" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_PHYSICS_SCENE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        parentValidationData->instance_physics_scene++;

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_physics_scene()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__instance_visual_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        scene__ValidationData* parentValidationData = (scene__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_INSTANCE_VISUAL_SCENE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->instance_visual_scene >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INSTANCE_VISUAL_SCENE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->instance_visual_scene++;

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.newObject(sizeof(instance_animation__ValidationData));
        memset(validationData, 0, sizeof(instance_animation__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__instance_visual_scene()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        instance_animation__ValidationData* validationData = (instance_animation__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__ValidationData* validationData = (profile_GLES__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__ValidationData* validationData = (profile_GLES__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PROFILE_GLES, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__newparam____gles_newparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 393:
        {
        profile_GLES__ValidationData* parentValidationData = (profile_GLES__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        case 319:
        {
        profile_GLES__technique__ValidationData* parentValidationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        newparam____gles_newparam__ValidationData* validationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.newObject(sizeof(newparam____gles_newparam__ValidationData));
        memset(validationData, 0, sizeof(newparam____gles_newparam__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__newparam____gles_newparam()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        newparam____gles_newparam__ValidationData* validationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER_STATE) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_UNIT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture_pipeline____gles_texture_pipeline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_PIPELINE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_PIPELINE;
        }
//        parentValidationData->texture_pipeline++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_PIPELINE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_PIPELINE;
        }
//        parentValidationData->texture_pipeline++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        texture_pipeline____gles_texture_pipeline__ValidationData* validationData = (texture_pipeline____gles_texture_pipeline__ValidationData*)mValidationDataStack.newObject(sizeof(texture_pipeline____gles_texture_pipeline__ValidationData));
        memset(validationData, 0, sizeof(texture_pipeline____gles_texture_pipeline__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture_pipeline____gles_texture_pipeline()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_pipeline____gles_texture_pipeline__ValidationData* validationData = (texture_pipeline____gles_texture_pipeline__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->texcombiner != 0 )
            if ( validationData->texcombiner < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE_PIPELINE, (const ParserChar*)0, "child: texcombiner" ) )
                    return false;
        if ( validationData->texenv != 0 )
            if ( validationData->texenv < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE_PIPELINE, (const ParserChar*)0, "child: texenv" ) )
                    return false;
        if ( validationData->extra != 0 )
            if ( validationData->extra < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE_PIPELINE, (const ParserChar*)0, "child: extra" ) )
                    return false;
        if ( validationData->texcombiner == 0 && validationData->texenv == 0 && validationData->extra == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TEXTURE_PIPELINE, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texcombiner( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_pipeline____gles_texture_pipeline__ValidationData* parentValidationData = (texture_pipeline____gles_texture_pipeline__ValidationData*)mValidationDataStack.top();
        parentValidationData->texcombiner++;

        texcombiner__ValidationData* validationData = (texcombiner__ValidationData*)mValidationDataStack.newObject(sizeof(texcombiner__ValidationData));
        memset(validationData, 0, sizeof(texcombiner__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texcombiner()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texcombiner__ValidationData* validationData = (texcombiner__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__constant____gles_texture_constant_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 104:
        {
        texcombiner__ValidationData* parentValidationData = (texcombiner__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->RGB != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT, (const ParserChar*)0, "sibling: RGB" ) )
                return false;
        }
        if ( parentValidationData->alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_CONSTANT, (const ParserChar*)0, "sibling: alpha" ) )
                return false;
        }
        if ( parentValidationData->constant >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_CONSTANT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->constant++;

        break;
        }

        case 214:
        {
        texenv__ValidationData* parentValidationData = (texenv__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->constant >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_CONSTANT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->constant++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__constant____gles_texture_constant_type()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorRGB_enums( ParserString value )
{
    return validate__gles_texcombiner_operatorRGB_enums( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorRGB_enums( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorRGB_enums__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorRGB_enums__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__RGB( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texcombiner__ValidationData* parentValidationData = (texcombiner__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RGB, (const ParserChar*)0, "sibling: alpha" ) )
                return false;
        }
        if ( parentValidationData->RGB >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RGB, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->RGB++;

        RGB__ValidationData* validationData = (RGB__ValidationData*)mValidationDataStack.newObject(sizeof(RGB__ValidationData));
        memset(validationData, 0, sizeof(RGB__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__RGB()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        RGB__ValidationData* validationData = (RGB__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->argument < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_RGB, (const ParserChar*)0, "child: argument" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_source_enums( ParserString value )
{
    return validate__gles_texcombiner_source_enums( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_source_enums( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_source_enums__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_source_enums__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandRGB_enums( ParserString value )
{
    return validate__gles_texcombiner_operandRGB_enums( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandRGB_enums( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandRGB_enums__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandRGB_enums__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__argument____gles_texcombiner_argumentRGB_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        RGB__ValidationData* parentValidationData = (RGB__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->argument >= 3 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ARGUMENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->argument++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__argument____gles_texcombiner_argumentRGB_type()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorAlpha_enums( ParserString value )
{
    return validate__gles_texcombiner_operatorAlpha_enums( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorAlpha_enums( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorAlpha_enums__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operatorAlpha_enums__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__alpha____gles_texcombiner_commandAlpha_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texcombiner__ValidationData* parentValidationData = (texcombiner__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->alpha >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ALPHA, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->alpha++;

        alpha____gles_texcombiner_commandAlpha_type__ValidationData* validationData = (alpha____gles_texcombiner_commandAlpha_type__ValidationData*)mValidationDataStack.newObject(sizeof(alpha____gles_texcombiner_commandAlpha_type__ValidationData));
        memset(validationData, 0, sizeof(alpha____gles_texcombiner_commandAlpha_type__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__alpha____gles_texcombiner_commandAlpha_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        alpha____gles_texcombiner_commandAlpha_type__ValidationData* validationData = (alpha____gles_texcombiner_commandAlpha_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->argument < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ALPHA, (const ParserChar*)0, "child: argument" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandAlpha_enums( ParserString value )
{
    return validate__gles_texcombiner_operandAlpha_enums( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandAlpha_enums( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandAlpha_enums__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texcombiner_operandAlpha_enums__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__argument____gles_texcombiner_argumentAlpha_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        alpha____gles_texcombiner_commandAlpha_type__ValidationData* parentValidationData = (alpha____gles_texcombiner_commandAlpha_type__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->argument >= 3 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ARGUMENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->argument++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__argument____gles_texcombiner_argumentAlpha_type()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texenv_mode_enums( ParserString value )
{
    return validate__gles_texenv_mode_enums( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texenv_mode_enums( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texenv_mode_enums__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_texenv_mode_enums__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texenv( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_pipeline____gles_texture_pipeline__ValidationData* parentValidationData = (texture_pipeline____gles_texture_pipeline__ValidationData*)mValidationDataStack.top();
        parentValidationData->texenv++;

        texenv__ValidationData* validationData = (texenv__ValidationData*)mValidationDataStack.newObject(sizeof(texenv__ValidationData));
        memset(validationData, 0, sizeof(texenv__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texenv()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texenv__ValidationData* validationData = (texenv__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler_state____gles_sampler_state( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER_STATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER_STATE;
        }
//        parentValidationData->sampler_state++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER_STATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER_STATE;
        }
//        parentValidationData->sampler_state++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler_state____gles_sampler_state__ValidationData* validationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.newObject(sizeof(sampler_state____gles_sampler_state__ValidationData));
        memset(validationData, 0, sizeof(sampler_state____gles_sampler_state__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler_state____gles_sampler_state()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler_state____gles_sampler_state__ValidationData* validationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_sampler_wrap( ParserString value )
{
    return validate__gles_sampler_wrap( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_sampler_wrap( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_sampler_wrap__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_sampler_wrap__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__wrap_s____gles_sampler_wrap( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->wrap_t != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: wrap_t" ) )
                return false;
        }
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_s >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_s++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__wrap_s____gles_sampler_wrap()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__wrap_t____gles_sampler_wrap( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler_state____gles_sampler_state__ValidationData* parentValidationData = (sampler_state____gles_sampler_state__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->minfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: minfilter" ) )
                return false;
        }
        if ( parentValidationData->magfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: magfilter" ) )
                return false;
        }
        if ( parentValidationData->mipfilter != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipfilter" ) )
                return false;
        }
        if ( parentValidationData->mipmap_maxlevel != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_maxlevel" ) )
                return false;
        }
        if ( parentValidationData->mipmap_bias != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: mipmap_bias" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->wrap_t >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->wrap_t++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__wrap_t____gles_sampler_wrap()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture_unit( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_UNIT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_UNIT;
        }
//        parentValidationData->texture_unit++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_UNIT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_UNIT;
        }
//        parentValidationData->texture_unit++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        texture_unit__ValidationData* validationData = (texture_unit__ValidationData*)mValidationDataStack.newObject(sizeof(texture_unit__ValidationData));
        memset(validationData, 0, sizeof(texture_unit__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture_unit()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_unit__ValidationData* validationData = (texture_unit__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__surface____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_unit__ValidationData* parentValidationData = (texture_unit__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->sampler_state != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, "sibling: sampler_state" ) )
                return false;
        }
        if ( parentValidationData->texcoord != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, "sibling: texcoord" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->surface >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->surface++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__surface____NCName()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler_state____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_unit__ValidationData* parentValidationData = (texture_unit__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->texcoord != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SAMPLER_STATE, (const ParserChar*)0, "sibling: texcoord" ) )
                return false;
        }
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SAMPLER_STATE, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->sampler_state >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SAMPLER_STATE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->sampler_state++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler_state____NCName()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texcoord( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_unit__ValidationData* parentValidationData = (texture_unit__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->extra != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TEXCOORD, (const ParserChar*)0, "sibling: extra" ) )
                return false;
        }
        if ( parentValidationData->texcoord >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TEXCOORD, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->texcoord++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texcoord()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__enum____gles_enumeration( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 470:
        {
        profile_GLES__technique__setparam__ValidationData* parentValidationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 150:
        {
        newparam____gles_newparam__ValidationData* parentValidationData = (newparam____gles_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__enum____gles_enumeration()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__ValidationData* parentValidationData = (profile_GLES__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TECHNIQUE;
        }
//        parentValidationData->technique++;

        profile_GLES__technique__ValidationData* validationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__ValidationData* validationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_PASS) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__ValidationData* parentValidationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SETPARAM;
        }
//        parentValidationData->setparam++;

        profile_GLES__technique__setparam__ValidationData* validationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__setparam__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__setparam__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__setparam()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__setparam__ValidationData* validationData = (profile_GLES__technique__setparam__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER_STATE) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_UNIT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__ValidationData* parentValidationData = (profile_GLES__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_PASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PASS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PASS;
        }
//        parentValidationData->pass++;

        profile_GLES__technique__pass__ValidationData* validationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__pass__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__pass__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* validationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (validationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (validationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (validationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (validationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DRAW) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (validationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_FOG_END) || (validationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (validationData->validation_current_state == HASH_ELEMENT_FOG_START) || (validationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (validationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (validationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (validationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (validationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (validationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (validationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PASS, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_rendertarget_common( ParserString value )
{
    return validate__gles_rendertarget_common( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_rendertarget_common( const ParserChar* value, size_t length )
{
// regular expression: "^([A-Z]|[_]|[a-z])([A-Z]|[_]|[a-z]|[-]|[.]|[0-9])*$"
static const COLLADABU::PcreCompiledPattern compiledPattern("^([A-Z]|[_]|[a-z])([A-Z]|[_]|[a-z]|[-]|[.]|[0-9])*$");
pcre* pattern = compiledPattern.getCompiledPattern();
int ovector[ PCRE_OVECCOUNT ];
int pcre_result = pcre_exec(
    pattern,
    0,
    value,
    (int)length,
    0,
    0,
    ovector,
    PCRE_OVECCOUNT);
if (pcre_result < 0)
    return ParserError::ERROR_VALIDATION_PATTERN;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_rendertarget_common__stream( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_rendertarget_common__streamEnd( const ParserChar* value, size_t length )
{

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color_target____gles_rendertarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_TARGET;
        }
//        parentValidationData->color_target++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color_target____gles_rendertarget_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__depth_target____gles_rendertarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_TARGET;
        }
//        parentValidationData->depth_target++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__depth_target____gles_rendertarget_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_target____gles_rendertarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_TARGET;
        }
//        parentValidationData->stencil_target++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_target____gles_rendertarget_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color_clear____fx_color_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_CLEAR;
        }
//        parentValidationData->color_clear++;

        border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.newObject(sizeof(border_color__ValidationData));
        memset(validationData, 0, sizeof(border_color__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color_clear____fx_color_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__depth_clear____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_CLEAR;
        }
//        parentValidationData->depth_clear++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__depth_clear____float()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_clear____byte( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_CLEAR;
        }
//        parentValidationData->stencil_clear++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_clear____byte()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__draw( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DRAW, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DRAW;
        }
//        parentValidationData->draw++;

        break;
        }

        case 301:
        {
        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DRAW, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DRAW;
        }
//        parentValidationData->draw++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DRAW, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DRAW;
        }
//        parentValidationData->draw++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__draw()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__alpha_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ALPHA_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ALPHA_FUNC;
        }
//        parentValidationData->alpha_func++;

        profile_GLES__technique__pass__alpha_func__ValidationData* validationData = (profile_GLES__technique__pass__alpha_func__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__pass__alpha_func__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__pass__alpha_func__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__alpha_func()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__alpha_func__ValidationData* validationData = (profile_GLES__technique__pass__alpha_func__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->func < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ALPHA_FUNC, (const ParserChar*)0, "child: func" ) )
                return false;
        }
        if ( validationData->value < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ALPHA_FUNC, (const ParserChar*)0, "child: value" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_func_type( ParserString value )
{
    return validate__gl_func_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_func_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_func_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_func_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__alpha_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__alpha_func__ValidationData* parentValidationData = (profile_GLES__technique__pass__alpha_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FUNC, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->func >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FUNC, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->func++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__alpha_func__func()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_alpha_value_type( const float value )
{
    if( value > 1.0E0 )
        return ParserError::ERROR_VALIDATION_MAX_INCLUSIVE;

    if( value < 0.0E1 )
        return ParserError::ERROR_VALIDATION_MIN_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__alpha_func__value( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__alpha_func__ValidationData* parentValidationData = (profile_GLES__technique__pass__alpha_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->func < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: func" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__alpha_func__value()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__blend_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_FUNC;
        }
//        parentValidationData->blend_func++;

        profile_GLES__technique__pass__blend_func__ValidationData* validationData = (profile_GLES__technique__pass__blend_func__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__pass__blend_func__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__pass__blend_func__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__blend_func()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__blend_func__ValidationData* validationData = (profile_GLES__technique__pass__blend_func__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->src < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC, (const ParserChar*)0, "child: src" ) )
                return false;
        }
        if ( validationData->dest < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC, (const ParserChar*)0, "child: dest" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_type( ParserString value )
{
    return validate__gl_blend_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__blend_func__src( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__blend_func__ValidationData* parentValidationData = (profile_GLES__technique__pass__blend_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->dest != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SRC, (const ParserChar*)0, "sibling: dest" ) )
                return false;
        }
        if ( parentValidationData->src >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SRC, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->src++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__blend_func__src()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__blend_func__dest( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__blend_func__ValidationData* parentValidationData = (profile_GLES__technique__pass__blend_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->src < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_DEST, (const ParserChar*)0, "sibling: src" ) )
                return false;
        }
        if ( parentValidationData->dest >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DEST, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->dest++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__blend_func__dest()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__clear_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_COLOR;
        }
//        parentValidationData->clear_color++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__clear_color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__clear_stencil( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_STENCIL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_STENCIL;
        }
//        parentValidationData->clear_stencil++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__clear_stencil()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__clear_depth( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_DEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_DEPTH;
        }
//        parentValidationData->clear_depth++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__clear_depth()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__GLES_MAX_CLIP_PLANES_index( const uint64 value )
{
    if( value >= 5 )
        return ParserError::ERROR_VALIDATION_MAX_EXCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__clip_plane( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLIP_PLANE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLIP_PLANE;
        }
//        parentValidationData->clip_plane++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__clip_plane()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__color_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MASK;
        }
//        parentValidationData->color_mask++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__color_mask()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_face_type( ParserString value )
{
    return validate__gl_face_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_face_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_face_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_face_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__cull_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CULL_FACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CULL_FACE;
        }
//        parentValidationData->cull_face++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__cull_face()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__depth_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_FUNC;
        }
//        parentValidationData->depth_func++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__depth_func()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__depth_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_MASK;
        }
//        parentValidationData->depth_mask++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__depth_mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__depth_range( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_RANGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_RANGE;
        }
//        parentValidationData->depth_range++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__depth_range()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__fog_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_COLOR;
        }
//        parentValidationData->fog_color++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__fog_color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__fog_density( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_DENSITY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_DENSITY;
        }
//        parentValidationData->fog_density++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__fog_density()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_type( ParserString value )
{
    return validate__gl_fog_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__fog_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_MODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_MODE;
        }
//        parentValidationData->fog_mode++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__fog_mode()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__fog_start( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_START, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_START;
        }
//        parentValidationData->fog_start++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__fog_start()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__fog_end( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_END, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_END;
        }
//        parentValidationData->fog_end++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__fog_end()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_front_face_type( ParserString value )
{
    return validate__gl_front_face_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_front_face_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_front_face_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_front_face_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__front_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FRONT_FACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FRONT_FACE;
        }
//        parentValidationData->front_face++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__front_face()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__texture_pipeline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_PIPELINE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_PIPELINE;
        }
//        parentValidationData->texture_pipeline++;

        profile_GLES__technique__pass__texture_pipeline__ValidationData* validationData = (profile_GLES__technique__pass__texture_pipeline__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__pass__texture_pipeline__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__pass__texture_pipeline__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__texture_pipeline()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__texture_pipeline__ValidationData* validationData = (profile_GLES__technique__pass__texture_pipeline__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__value____gles_texture_pipeline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__texture_pipeline__ValidationData* parentValidationData = (profile_GLES__technique__pass__texture_pipeline__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

        texture_pipeline____gles_texture_pipeline__ValidationData* validationData = (texture_pipeline____gles_texture_pipeline__ValidationData*)mValidationDataStack.newObject(sizeof(texture_pipeline____gles_texture_pipeline__ValidationData));
        memset(validationData, 0, sizeof(texture_pipeline____gles_texture_pipeline__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__value____gles_texture_pipeline()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture_pipeline____gles_texture_pipeline__ValidationData* validationData = (texture_pipeline____gles_texture_pipeline__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->texcombiner != 0 )
            if ( validationData->texcombiner < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: texcombiner" ) )
                    return false;
        if ( validationData->texenv != 0 )
            if ( validationData->texenv < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: texenv" ) )
                    return false;
        if ( validationData->extra != 0 )
            if ( validationData->extra < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: extra" ) )
                    return false;
        if ( validationData->texcombiner == 0 && validationData->texenv == 0 && validationData->extra == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_logic_op_type( ParserString value )
{
    return validate__gl_logic_op_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_logic_op_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_logic_op_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_logic_op_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__logic_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LOGIC_OP, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LOGIC_OP;
        }
//        parentValidationData->logic_op++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__logic_op()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__GLES_MAX_LIGHTS_index( const uint64 value )
{
    if( value >= 7 )
        return ParserError::ERROR_VALIDATION_MAX_EXCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_AMBIENT;
        }
//        parentValidationData->light_ambient++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_ambient()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_DIFFUSE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_DIFFUSE;
        }
//        parentValidationData->light_diffuse++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_diffuse()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPECULAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPECULAR;
        }
//        parentValidationData->light_specular++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_specular()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_position( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_POSITION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_POSITION;
        }
//        parentValidationData->light_position++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_position()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_constant_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION;
        }
//        parentValidationData->light_constant_attenuation++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_constant_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__light_linear_attenutation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION;
        }
//        parentValidationData->light_linear_attenutation++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__light_linear_attenutation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_quadratic_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION;
        }
//        parentValidationData->light_quadratic_attenuation++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_quadratic_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_spot_cutoff( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_CUTOFF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_CUTOFF;
        }
//        parentValidationData->light_spot_cutoff++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_spot_cutoff()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_spot_direction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_DIRECTION;
        }
//        parentValidationData->light_spot_direction++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_spot_direction()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_spot_exponent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_EXPONENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_EXPONENT;
        }
//        parentValidationData->light_spot_exponent++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_spot_exponent()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_model_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_AMBIENT;
        }
//        parentValidationData->light_model_ambient++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_model_ambient()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__line_width( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_WIDTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_WIDTH;
        }
//        parentValidationData->line_width++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__line_width()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__material_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_AMBIENT;
        }
//        parentValidationData->material_ambient++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__material_ambient()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__material_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_DIFFUSE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_DIFFUSE;
        }
//        parentValidationData->material_diffuse++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__material_diffuse()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__material_emission( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_EMISSION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_EMISSION;
        }
//        parentValidationData->material_emission++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__material_emission()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__material_shininess( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_SHININESS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_SHININESS;
        }
//        parentValidationData->material_shininess++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__material_shininess()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__material_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_SPECULAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_SPECULAR;
        }
//        parentValidationData->material_specular++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__material_specular()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__model_view_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MODEL_VIEW_MATRIX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MODEL_VIEW_MATRIX;
        }
//        parentValidationData->model_view_matrix++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__model_view_matrix()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__point_distance_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_DISTANCE_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_DISTANCE_ATTENUATION;
        }
//        parentValidationData->point_distance_attenuation++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__point_distance_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__point_fade_threshold_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE;
        }
//        parentValidationData->point_fade_threshold_size++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__point_fade_threshold_size()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__point_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE;
        }
//        parentValidationData->point_size++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__point_size()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__point_size_min( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE_MIN, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE_MIN;
        }
//        parentValidationData->point_size_min++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__point_size_min()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__point_size_max( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE_MAX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE_MAX;
        }
//        parentValidationData->point_size_max++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__point_size_max()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__polygon_offset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET;
        }
//        parentValidationData->polygon_offset++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__polygon_offset()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__projection_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PROJECTION_MATRIX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PROJECTION_MATRIX;
        }
//        parentValidationData->projection_matrix++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__projection_matrix()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__scissor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCISSOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCISSOR;
        }
//        parentValidationData->scissor++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__scissor()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_shade_model_type( ParserString value )
{
    return validate__gl_shade_model_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_shade_model_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_shade_model_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_shade_model_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__shade_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SHADE_MODEL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SHADE_MODEL;
        }
//        parentValidationData->shade_model++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__shade_model()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_FUNC;
        }
//        parentValidationData->stencil_func++;

        profile_GLES__technique__pass__stencil_func__ValidationData* validationData = (profile_GLES__technique__pass__stencil_func__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__pass__stencil_func__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__pass__stencil_func__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_func()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_func__ValidationData* validationData = (profile_GLES__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->func < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, "child: func" ) )
                return false;
        }
        if ( validationData->ref < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, "child: ref" ) )
                return false;
        }
        if ( validationData->mask < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, "child: mask" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_func__ValidationData* parentValidationData = (profile_GLES__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ref != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FUNC, (const ParserChar*)0, "sibling: ref" ) )
                return false;
        }
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FUNC, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->func >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FUNC, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->func++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_func__func()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_func__ref( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_func__ValidationData* parentValidationData = (profile_GLES__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->func < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_REF, (const ParserChar*)0, "sibling: func" ) )
                return false;
        }
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REF, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->ref >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REF, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ref++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_func__ref()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_func__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_func__ValidationData* parentValidationData = (profile_GLES__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ref < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MASK, (const ParserChar*)0, "sibling: ref" ) )
                return false;
        }
        if ( parentValidationData->mask >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MASK, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mask++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_func__mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_MASK;
        }
//        parentValidationData->stencil_mask++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_OP;
        }
//        parentValidationData->stencil_op++;

        profile_GLES__technique__pass__stencil_op__ValidationData* validationData = (profile_GLES__technique__pass__stencil_op__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLES__technique__pass__stencil_op__ValidationData));
        memset(validationData, 0, sizeof(profile_GLES__technique__pass__stencil_op__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_op()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_op__ValidationData* validationData = (profile_GLES__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->fail < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, "child: fail" ) )
                return false;
        }
        if ( validationData->zfail < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, "child: zfail" ) )
                return false;
        }
        if ( validationData->zpass < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, "child: zpass" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_stencil_op_type( ParserString value )
{
    return validate__gles_stencil_op_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_stencil_op_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_stencil_op_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gles_stencil_op_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_op__fail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_op__ValidationData* parentValidationData = (profile_GLES__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->zfail != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FAIL, (const ParserChar*)0, "sibling: zfail" ) )
                return false;
        }
        if ( parentValidationData->zpass != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FAIL, (const ParserChar*)0, "sibling: zpass" ) )
                return false;
        }
        if ( parentValidationData->fail >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FAIL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->fail++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_op__fail()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_op__zfail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_op__ValidationData* parentValidationData = (profile_GLES__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->fail < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, "sibling: fail" ) )
                return false;
        }
        if ( parentValidationData->zpass != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, "sibling: zpass" ) )
                return false;
        }
        if ( parentValidationData->zfail >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->zfail++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_op__zfail()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_op__zpass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__stencil_op__ValidationData* parentValidationData = (profile_GLES__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->zfail < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ZPASS, (const ParserChar*)0, "sibling: zfail" ) )
                return false;
        }
        if ( parentValidationData->zpass >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ZPASS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->zpass++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_op__zpass()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__alpha_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ALPHA_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ALPHA_TEST_ENABLE;
        }
//        parentValidationData->alpha_test_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__alpha_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__blend_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_ENABLE;
        }
//        parentValidationData->blend_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__blend_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__clip_plane_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLIP_PLANE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLIP_PLANE_ENABLE;
        }
//        parentValidationData->clip_plane_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__clip_plane_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__color_logic_op_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE;
        }
//        parentValidationData->color_logic_op_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__color_logic_op_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__color_material_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MATERIAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MATERIAL_ENABLE;
        }
//        parentValidationData->color_material_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__color_material_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__cull_face_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CULL_FACE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CULL_FACE_ENABLE;
        }
//        parentValidationData->cull_face_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__cull_face_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__depth_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_TEST_ENABLE;
        }
//        parentValidationData->depth_test_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__depth_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__dither_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DITHER_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DITHER_ENABLE;
        }
//        parentValidationData->dither_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__dither_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__fog_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_ENABLE;
        }
//        parentValidationData->fog_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__fog_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture_pipeline_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE;
        }
//        parentValidationData->texture_pipeline_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture_pipeline_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_ENABLE;
        }
//        parentValidationData->light_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__lighting_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHTING_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHTING_ENABLE;
        }
//        parentValidationData->lighting_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__lighting_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__light_model_two_side_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE;
        }
//        parentValidationData->light_model_two_side_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__light_model_two_side_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__line_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_SMOOTH_ENABLE;
        }
//        parentValidationData->line_smooth_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__line_smooth_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__multisample_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MULTISAMPLE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MULTISAMPLE_ENABLE;
        }
//        parentValidationData->multisample_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__multisample_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__normalize_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NORMALIZE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NORMALIZE_ENABLE;
        }
//        parentValidationData->normalize_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__normalize_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__point_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SMOOTH_ENABLE;
        }
//        parentValidationData->point_smooth_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__point_smooth_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__polygon_offset_fill_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE;
        }
//        parentValidationData->polygon_offset_fill_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__polygon_offset_fill_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__rescale_normal_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_RESCALE_NORMAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_RESCALE_NORMAL_ENABLE;
        }
//        parentValidationData->rescale_normal_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__rescale_normal_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__sample_alpha_to_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE;
        }
//        parentValidationData->sample_alpha_to_coverage_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__sample_alpha_to_coverage_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__sample_alpha_to_one_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE;
        }
//        parentValidationData->sample_alpha_to_one_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__sample_alpha_to_one_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__sample_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE;
        }
//        parentValidationData->sample_coverage_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__sample_coverage_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__scissor_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCISSOR_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCISSOR_TEST_ENABLE;
        }
//        parentValidationData->scissor_test_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__scissor_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLES__technique__pass__stencil_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLES__technique__pass__ValidationData* parentValidationData = (profile_GLES__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_TEST_ENABLE;
        }
//        parentValidationData->stencil_test_enable++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLES__technique__pass__stencil_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__size____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        // no validation because is child of unreferenced top level element
        // parent element: ellipsoid

        float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____float3__ValidationData));
        memset(validationData, 0, sizeof(float3____float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__size____float3()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__ValidationData* validationData = (profile_GLSL__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__ValidationData* validationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PROFILE_GLSL, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__code( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 298:
        {
        cg_surface_type____generator__ValidationData* parentValidationData = (cg_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CODE;
        }
//        parentValidationData->code++;

        break;
        }

        case 299:
        {
        glsl_surface_type____generator__ValidationData* parentValidationData = (glsl_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CODE;
        }
//        parentValidationData->code++;

        break;
        }

        case 534:
        {
        profile_CG__ValidationData* parentValidationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CODE;
        }
//        parentValidationData->code++;

        break;
        }

        case 286:
        {
        profile_GLSL__ValidationData* parentValidationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CODE;
        }
//        parentValidationData->code++;

        break;
        }

        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CODE;
        }
//        parentValidationData->code++;

        break;
        }

        case 320:
        {
        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CODE;
        }
//        parentValidationData->code++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__code()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__include( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 298:
        {
        cg_surface_type____generator__ValidationData* parentValidationData = (cg_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INCLUDE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INCLUDE;
        }
//        parentValidationData->include++;

        break;
        }

        case 299:
        {
        glsl_surface_type____generator__ValidationData* parentValidationData = (glsl_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INCLUDE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INCLUDE;
        }
//        parentValidationData->include++;

        break;
        }

        case 534:
        {
        profile_CG__ValidationData* parentValidationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INCLUDE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INCLUDE;
        }
//        parentValidationData->include++;

        break;
        }

        case 286:
        {
        profile_GLSL__ValidationData* parentValidationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INCLUDE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INCLUDE;
        }
//        parentValidationData->include++;

        break;
        }

        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INCLUDE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INCLUDE;
        }
//        parentValidationData->include++;

        break;
        }

        case 320:
        {
        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INCLUDE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INCLUDE;
        }
//        parentValidationData->include++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__include()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__newparam____glsl_newparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 286:
        {
        profile_GLSL__ValidationData* parentValidationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        case 320:
        {
        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        newparam____glsl_newparam__ValidationData* validationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.newObject(sizeof(newparam____glsl_newparam__ValidationData));
        memset(validationData, 0, sizeof(newparam____glsl_newparam__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__newparam____glsl_newparam()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        newparam____glsl_newparam__ValidationData* validationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool____glsl_bool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool____glsl_bool()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool2( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool2__stream( const bool* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool2__streamEnd( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool2____glsl_bool2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool2____glsl_bool2__ValidationData* validationData = (bool2____glsl_bool2__ValidationData*)mValidationDataStack.newObject(sizeof(bool2____glsl_bool2__ValidationData));
        memset(validationData, 0, sizeof(bool2____glsl_bool2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool2____glsl_bool2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool3( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool3__stream( const bool* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool3__streamEnd( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool3____glsl_bool3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool3____glsl_bool3__ValidationData* validationData = (bool3____glsl_bool3__ValidationData*)mValidationDataStack.newObject(sizeof(bool3____glsl_bool3__ValidationData));
        memset(validationData, 0, sizeof(bool3____glsl_bool3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool3____glsl_bool3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool4( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool4__stream( const bool* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_bool4__streamEnd( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool4____glsl_bool4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool4____glsl_bool4__ValidationData* validationData = (bool4____glsl_bool4__ValidationData*)mValidationDataStack.newObject(sizeof(bool4____glsl_bool4__ValidationData));
        memset(validationData, 0, sizeof(bool4____glsl_bool4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool4____glsl_bool4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float____glsl_float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float____glsl_float()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2____glsl_float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____glsl_float2__ValidationData* validationData = (float2____glsl_float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____glsl_float2__ValidationData));
        memset(validationData, 0, sizeof(float2____glsl_float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2____glsl_float2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3____glsl_float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3____glsl_float3__ValidationData* validationData = (float3____glsl_float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____glsl_float3__ValidationData));
        memset(validationData, 0, sizeof(float3____glsl_float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3____glsl_float3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4____glsl_float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4____glsl_float4__ValidationData* validationData = (float4____glsl_float4__ValidationData*)mValidationDataStack.newObject(sizeof(float4____glsl_float4__ValidationData));
        memset(validationData, 0, sizeof(float4____glsl_float4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4____glsl_float4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float2x2( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float2x2__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float2x2__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x2____glsl_float2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x2____glsl_float2x2__ValidationData* validationData = (float2x2____glsl_float2x2__ValidationData*)mValidationDataStack.newObject(sizeof(float2x2____glsl_float2x2__ValidationData));
        memset(validationData, 0, sizeof(float2x2____glsl_float2x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x2____glsl_float2x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float3x3( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float3x3__stream( const float* value, size_t length )
{

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float3x3__streamEnd( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x3____glsl_float3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x3____glsl_float3x3__ValidationData* validationData = (float3x3____glsl_float3x3__ValidationData*)mValidationDataStack.newObject(sizeof(float3x3____glsl_float3x3__ValidationData));
        memset(validationData, 0, sizeof(float3x3____glsl_float3x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x3____glsl_float3x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float4x4( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float4x4__stream( const float* value, size_t length )
{

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_float4x4__streamEnd( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x4____glsl_float4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4x4____glsl_float4x4__ValidationData* validationData = (float4x4____glsl_float4x4__ValidationData*)mValidationDataStack.newObject(sizeof(float4x4____glsl_float4x4__ValidationData));
        memset(validationData, 0, sizeof(float4x4____glsl_float4x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x4____glsl_float4x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int( const sint32 value )
{
    if( value < -2147483648 )
        return ParserError::ERROR_VALIDATION_MIN_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int____glsl_int( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int____glsl_int()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int2( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int2__stream( const sint32* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int2__streamEnd( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int2____glsl_int2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int2____glsl_int2__ValidationData* validationData = (int2____glsl_int2__ValidationData*)mValidationDataStack.newObject(sizeof(int2____glsl_int2__ValidationData));
        memset(validationData, 0, sizeof(int2____glsl_int2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int2____glsl_int2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int3( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int3__stream( const sint32* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int3__streamEnd( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int3____glsl_int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3____glsl_int3__ValidationData* validationData = (int3____glsl_int3__ValidationData*)mValidationDataStack.newObject(sizeof(int3____glsl_int3__ValidationData));
        memset(validationData, 0, sizeof(int3____glsl_int3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int3____glsl_int3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int4( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int4__stream( const sint32* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_int4__streamEnd( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int4____glsl_int4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int4____glsl_int4__ValidationData* validationData = (int4____glsl_int4__ValidationData*)mValidationDataStack.newObject(sizeof(int4____glsl_int4__ValidationData));
        memset(validationData, 0, sizeof(int4____glsl_int4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int4____glsl_int4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__surface____glsl_surface_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        surface____glsl_surface_type__ValidationData* validationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.newObject(sizeof(surface____glsl_surface_type__ValidationData));
        memset(validationData, 0, sizeof(surface____glsl_surface_type__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__surface____glsl_surface_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        surface____glsl_surface_type__ValidationData* validationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_FORMAT) || (validationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (validationData->validation_current_state == HASH_ELEMENT_GENERATOR) || (validationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (validationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (validationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (validationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (validationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (validationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (validationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (validationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (validationData->validation_current_state == HASH_ELEMENT_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__glsl_surface_type____generator( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        surface____glsl_surface_type__ValidationData* parentValidationData = (surface____glsl_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_GENERATOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_GENERATOR;
        }
//        parentValidationData->generator++;

        glsl_surface_type____generator__ValidationData* validationData = (glsl_surface_type____generator__ValidationData*)mValidationDataStack.newObject(sizeof(glsl_surface_type____generator__ValidationData));
        memset(validationData, 0, sizeof(glsl_surface_type____generator__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__glsl_surface_type____generator()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        glsl_surface_type____generator__ValidationData* validationData = (glsl_surface_type____generator__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_NAME) || (validationData->validation_current_state == HASH_ELEMENT_SETPARAM) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_GENERATOR, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__newparam__surface__generator__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        glsl_surface_type____generator__ValidationData* parentValidationData = (glsl_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NAME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NAME;
        }
//        parentValidationData->name++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__newparam__surface__generator__name()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__setparam____glsl_setparam_simple( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        glsl_surface_type____generator__ValidationData* parentValidationData = (glsl_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_NAME) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SETPARAM;
        }
//        parentValidationData->setparam++;

        setparam____glsl_setparam_simple__ValidationData* validationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.newObject(sizeof(setparam____glsl_setparam_simple__ValidationData));
        memset(validationData, 0, sizeof(setparam____glsl_setparam_simple__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__setparam____glsl_setparam_simple()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        setparam____glsl_setparam_simple__ValidationData* validationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler1D____gl_sampler1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler1D____gl_sampler1D__ValidationData* validationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler1D____gl_sampler1D__ValidationData));
        memset(validationData, 0, sizeof(sampler1D____gl_sampler1D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler1D____gl_sampler1D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler1D____gl_sampler1D__ValidationData* validationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler2D____gl_sampler2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler2D____gl_sampler2D__ValidationData* validationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler2D____gl_sampler2D__ValidationData));
        memset(validationData, 0, sizeof(sampler2D____gl_sampler2D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler2D____gl_sampler2D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler2D____gl_sampler2D__ValidationData* validationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler3D____gl_sampler3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler3D____gl_sampler3D__ValidationData* validationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler3D____gl_sampler3D__ValidationData));
        memset(validationData, 0, sizeof(sampler3D____gl_sampler3D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler3D____gl_sampler3D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler3D____gl_sampler3D__ValidationData* validationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerCUBE____gl_samplerCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerCUBE____gl_samplerCUBE__ValidationData* validationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.newObject(sizeof(samplerCUBE____gl_samplerCUBE__ValidationData));
        memset(validationData, 0, sizeof(samplerCUBE____gl_samplerCUBE__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerCUBE____gl_samplerCUBE()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerCUBE____gl_samplerCUBE__ValidationData* validationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerRECT____gl_samplerRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerRECT____gl_samplerRECT__ValidationData* validationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.newObject(sizeof(samplerRECT____gl_samplerRECT__ValidationData));
        memset(validationData, 0, sizeof(samplerRECT____gl_samplerRECT__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerRECT____gl_samplerRECT()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerRECT____gl_samplerRECT__ValidationData* validationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerDEPTH____gl_samplerDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerDEPTH____gl_samplerDEPTH__ValidationData* validationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.newObject(sizeof(samplerDEPTH____gl_samplerDEPTH__ValidationData));
        memset(validationData, 0, sizeof(samplerDEPTH____gl_samplerDEPTH__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerDEPTH____gl_samplerDEPTH()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerDEPTH____gl_samplerDEPTH__ValidationData* validationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__enum____gl_enumeration( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 144:
        {
        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        case 474:
        {
        setparam____glsl_setparam_simple__ValidationData* parentValidationData = (setparam____glsl_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ENUM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ENUM;
        }
//        parentValidationData->_enum++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__enum____gl_enumeration()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__positiveInteger( const uint64 value )
{
    if( value < 1 )
        return ParserError::ERROR_VALIDATION_MIN_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__array____glsl_newarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 41:
        {
        array____glsl_newarray_type__ValidationData* parentValidationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        case 151:
        {
        newparam____glsl_newparam__ValidationData* parentValidationData = (newparam____glsl_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        array____glsl_newarray_type__ValidationData* validationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.newObject(sizeof(array____glsl_newarray_type__ValidationData));
        memset(validationData, 0, sizeof(array____glsl_newarray_type__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__array____glsl_newarray_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        array____glsl_newarray_type__ValidationData* validationData = (array____glsl_newarray_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__ValidationData* parentValidationData = (profile_GLSL__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TECHNIQUE;
        }
//        parentValidationData->technique++;

        profile_GLSL__technique__ValidationData* validationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__ValidationData* validationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_PASS) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__setparam____glsl_setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SETPARAM;
        }
//        parentValidationData->setparam++;

        setparam____glsl_setparam__ValidationData* validationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.newObject(sizeof(setparam____glsl_setparam__ValidationData));
        memset(validationData, 0, sizeof(setparam____glsl_setparam__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__setparam____glsl_setparam()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        setparam____glsl_setparam__ValidationData* validationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__array____glsl_setarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 42:
        {
        array____glsl_setarray_type__ValidationData* parentValidationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        case 473:
        {
        setparam____glsl_setparam__ValidationData* parentValidationData = (setparam____glsl_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        array____glsl_setarray_type__ValidationData* validationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.newObject(sizeof(array____glsl_setarray_type__ValidationData));
        memset(validationData, 0, sizeof(array____glsl_setarray_type__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__array____glsl_setarray_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        array____glsl_setarray_type__ValidationData* validationData = (array____glsl_setarray_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__ValidationData* parentValidationData = (profile_GLSL__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_PASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PASS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PASS;
        }
//        parentValidationData->pass++;

        profile_GLSL__technique__pass__ValidationData* validationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__pass__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__pass__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__ValidationData* validationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (validationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (validationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (validationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (validationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (validationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_FOG_END) || (validationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (validationData->validation_current_state == HASH_ELEMENT_FOG_START) || (validationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (validationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (validationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (validationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (validationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (validationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (validationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (validationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (validationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (validationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SHADER) || (validationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PASS, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color_target____fx_colortarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_TARGET;
        }
//        parentValidationData->color_target++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_TARGET;
        }
//        parentValidationData->color_target++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color_target____fx_colortarget_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__depth_target____fx_depthtarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_TARGET;
        }
//        parentValidationData->depth_target++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_TARGET;
        }
//        parentValidationData->depth_target++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__depth_target____fx_depthtarget_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_target____fx_stenciltarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_TARGET;
        }
//        parentValidationData->stencil_target++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_TARGET;
        }
//        parentValidationData->stencil_target++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_target____fx_stenciltarget_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color_clear____fx_clearcolor_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_CLEAR;
        }
//        parentValidationData->color_clear++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_CLEAR;
        }
//        parentValidationData->color_clear++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        color_clear____fx_clearcolor_common__ValidationData* validationData = (color_clear____fx_clearcolor_common__ValidationData*)mValidationDataStack.newObject(sizeof(color_clear____fx_clearcolor_common__ValidationData));
        memset(validationData, 0, sizeof(color_clear____fx_clearcolor_common__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color_clear____fx_clearcolor_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__depth_clear____fx_cleardepth_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_CLEAR;
        }
//        parentValidationData->depth_clear++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_CLEAR;
        }
//        parentValidationData->depth_clear++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__depth_clear____fx_cleardepth_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_clear____fx_clearstencil_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_CLEAR;
        }
//        parentValidationData->stencil_clear++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_CLEAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_CLEAR;
        }
//        parentValidationData->stencil_clear++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_clear____fx_clearstencil_common()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__alpha_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ALPHA_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ALPHA_FUNC;
        }
//        parentValidationData->alpha_func++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ALPHA_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ALPHA_FUNC;
        }
//        parentValidationData->alpha_func++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        profile_GLSL__technique__pass__alpha_func__ValidationData* validationData = (profile_GLSL__technique__pass__alpha_func__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__pass__alpha_func__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__pass__alpha_func__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__alpha_func()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__alpha_func__ValidationData* validationData = (profile_GLSL__technique__pass__alpha_func__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->func < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ALPHA_FUNC, (const ParserChar*)0, "child: func" ) )
                return false;
        }
        if ( validationData->value < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_ALPHA_FUNC, (const ParserChar*)0, "child: value" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__alpha_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__alpha_func__ValidationData* parentValidationData = (profile_GLSL__technique__pass__alpha_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FUNC, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->func >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FUNC, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->func++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__alpha_func__func()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__alpha_func__value( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__alpha_func__ValidationData* parentValidationData = (profile_GLSL__technique__pass__alpha_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->func < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: func" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__alpha_func__value()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__blend_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_FUNC;
        }
//        parentValidationData->blend_func++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_FUNC;
        }
//        parentValidationData->blend_func++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        profile_GLSL__technique__pass__blend_func__ValidationData* validationData = (profile_GLSL__technique__pass__blend_func__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__pass__blend_func__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__pass__blend_func__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__blend_func()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__blend_func__ValidationData* validationData = (profile_GLSL__technique__pass__blend_func__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->src < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC, (const ParserChar*)0, "child: src" ) )
                return false;
        }
        if ( validationData->dest < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC, (const ParserChar*)0, "child: dest" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__blend_func__src( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__blend_func__ValidationData* parentValidationData = (profile_GLSL__technique__pass__blend_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->dest != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SRC, (const ParserChar*)0, "sibling: dest" ) )
                return false;
        }
        if ( parentValidationData->src >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SRC, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->src++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__blend_func__src()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__blend_func__dest( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__blend_func__ValidationData* parentValidationData = (profile_GLSL__technique__pass__blend_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->src < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_DEST, (const ParserChar*)0, "sibling: src" ) )
                return false;
        }
        if ( parentValidationData->dest >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DEST, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->dest++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__blend_func__dest()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__blend_func_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_FUNC_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_FUNC_SEPARATE;
        }
//        parentValidationData->blend_func_separate++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_FUNC_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_FUNC_SEPARATE;
        }
//        parentValidationData->blend_func_separate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        blend_func_separate__ValidationData* validationData = (blend_func_separate__ValidationData*)mValidationDataStack.newObject(sizeof(blend_func_separate__ValidationData));
        memset(validationData, 0, sizeof(blend_func_separate__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__blend_func_separate()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_func_separate__ValidationData* validationData = (blend_func_separate__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->src_rgb < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC_SEPARATE, (const ParserChar*)0, "child: src_rgb" ) )
                return false;
        }
        if ( validationData->dest_rgb < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC_SEPARATE, (const ParserChar*)0, "child: dest_rgb" ) )
                return false;
        }
        if ( validationData->src_alpha < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC_SEPARATE, (const ParserChar*)0, "child: src_alpha" ) )
                return false;
        }
        if ( validationData->dest_alpha < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_FUNC_SEPARATE, (const ParserChar*)0, "child: dest_alpha" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__src_rgb( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_func_separate__ValidationData* parentValidationData = (blend_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->dest_rgb != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SRC_RGB, (const ParserChar*)0, "sibling: dest_rgb" ) )
                return false;
        }
        if ( parentValidationData->src_alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SRC_RGB, (const ParserChar*)0, "sibling: src_alpha" ) )
                return false;
        }
        if ( parentValidationData->dest_alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SRC_RGB, (const ParserChar*)0, "sibling: dest_alpha" ) )
                return false;
        }
        if ( parentValidationData->src_rgb >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SRC_RGB, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->src_rgb++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__src_rgb()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__dest_rgb( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_func_separate__ValidationData* parentValidationData = (blend_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->src_rgb < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_DEST_RGB, (const ParserChar*)0, "sibling: src_rgb" ) )
                return false;
        }
        if ( parentValidationData->src_alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DEST_RGB, (const ParserChar*)0, "sibling: src_alpha" ) )
                return false;
        }
        if ( parentValidationData->dest_alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DEST_RGB, (const ParserChar*)0, "sibling: dest_alpha" ) )
                return false;
        }
        if ( parentValidationData->dest_rgb >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DEST_RGB, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->dest_rgb++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__dest_rgb()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__src_alpha( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_func_separate__ValidationData* parentValidationData = (blend_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->dest_rgb < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_SRC_ALPHA, (const ParserChar*)0, "sibling: dest_rgb" ) )
                return false;
        }
        if ( parentValidationData->dest_alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SRC_ALPHA, (const ParserChar*)0, "sibling: dest_alpha" ) )
                return false;
        }
        if ( parentValidationData->src_alpha >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SRC_ALPHA, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->src_alpha++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__src_alpha()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__dest_alpha( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_func_separate__ValidationData* parentValidationData = (blend_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->src_alpha < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_DEST_ALPHA, (const ParserChar*)0, "sibling: src_alpha" ) )
                return false;
        }
        if ( parentValidationData->dest_alpha >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DEST_ALPHA, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->dest_alpha++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__dest_alpha()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_equation_type( ParserString value )
{
    return validate__gl_blend_equation_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_equation_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_equation_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_blend_equation_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__blend_equation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_EQUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_EQUATION;
        }
//        parentValidationData->blend_equation++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_EQUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_EQUATION;
        }
//        parentValidationData->blend_equation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__blend_equation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__blend_equation_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_EQUATION_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_EQUATION_SEPARATE;
        }
//        parentValidationData->blend_equation_separate++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_EQUATION_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_EQUATION_SEPARATE;
        }
//        parentValidationData->blend_equation_separate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        blend_equation_separate__ValidationData* validationData = (blend_equation_separate__ValidationData*)mValidationDataStack.newObject(sizeof(blend_equation_separate__ValidationData));
        memset(validationData, 0, sizeof(blend_equation_separate__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__blend_equation_separate()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_equation_separate__ValidationData* validationData = (blend_equation_separate__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->rgb < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_EQUATION_SEPARATE, (const ParserChar*)0, "child: rgb" ) )
                return false;
        }
        if ( validationData->alpha < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_BLEND_EQUATION_SEPARATE, (const ParserChar*)0, "child: alpha" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__rgb( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_equation_separate__ValidationData* parentValidationData = (blend_equation_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->alpha != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_RGB, (const ParserChar*)0, "sibling: alpha" ) )
                return false;
        }
        if ( parentValidationData->rgb >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_RGB, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->rgb++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__rgb()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__blend_equation_separate__alpha( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blend_equation_separate__ValidationData* parentValidationData = (blend_equation_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->rgb < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ALPHA, (const ParserChar*)0, "sibling: rgb" ) )
                return false;
        }
        if ( parentValidationData->alpha >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ALPHA, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->alpha++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__blend_equation_separate__alpha()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MATERIAL;
        }
//        parentValidationData->color_material++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MATERIAL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MATERIAL;
        }
//        parentValidationData->color_material++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        color_material__ValidationData* validationData = (color_material__ValidationData*)mValidationDataStack.newObject(sizeof(color_material__ValidationData));
        memset(validationData, 0, sizeof(color_material__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color_material()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        color_material__ValidationData* validationData = (color_material__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->face < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_COLOR_MATERIAL, (const ParserChar*)0, "child: face" ) )
                return false;
        }
        if ( validationData->mode < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_COLOR_MATERIAL, (const ParserChar*)0, "child: mode" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color_material__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        color_material__ValidationData* parentValidationData = (color_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->mode != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: mode" ) )
                return false;
        }
        if ( parentValidationData->face >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FACE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->face++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color_material__face()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_material_type( ParserString value )
{
    return validate__gl_material_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_material_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_material_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_material_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__color_material__mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        color_material__ValidationData* parentValidationData = (color_material__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->face < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MODE, (const ParserChar*)0, "sibling: face" ) )
                return false;
        }
        if ( parentValidationData->mode >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MODE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mode++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__color_material__mode()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__cull_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CULL_FACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CULL_FACE;
        }
//        parentValidationData->cull_face++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CULL_FACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CULL_FACE;
        }
//        parentValidationData->cull_face++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__cull_face()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__depth_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_FUNC;
        }
//        parentValidationData->depth_func++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_FUNC;
        }
//        parentValidationData->depth_func++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__depth_func()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__fog_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_MODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_MODE;
        }
//        parentValidationData->fog_mode++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_MODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_MODE;
        }
//        parentValidationData->fog_mode++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__fog_mode()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_coord_src_type( ParserString value )
{
    return validate__gl_fog_coord_src_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_coord_src_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_coord_src_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_fog_coord_src_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fog_coord_src( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_COORD_SRC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_COORD_SRC;
        }
//        parentValidationData->fog_coord_src++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_COORD_SRC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_COORD_SRC;
        }
//        parentValidationData->fog_coord_src++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fog_coord_src()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__front_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FRONT_FACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FRONT_FACE;
        }
//        parentValidationData->front_face++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FRONT_FACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FRONT_FACE;
        }
//        parentValidationData->front_face++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__front_face()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_light_model_color_control_type( ParserString value )
{
    return validate__gl_light_model_color_control_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_light_model_color_control_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_light_model_color_control_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_light_model_color_control_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__light_model_color_control( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL;
        }
//        parentValidationData->light_model_color_control++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL;
        }
//        parentValidationData->light_model_color_control++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__light_model_color_control()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__logic_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LOGIC_OP, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LOGIC_OP;
        }
//        parentValidationData->logic_op++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LOGIC_OP, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LOGIC_OP;
        }
//        parentValidationData->logic_op++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__logic_op()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygon_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_MODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_MODE;
        }
//        parentValidationData->polygon_mode++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_MODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_MODE;
        }
//        parentValidationData->polygon_mode++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        polygon_mode__ValidationData* validationData = (polygon_mode__ValidationData*)mValidationDataStack.newObject(sizeof(polygon_mode__ValidationData));
        memset(validationData, 0, sizeof(polygon_mode__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygon_mode()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        polygon_mode__ValidationData* validationData = (polygon_mode__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->face < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_POLYGON_MODE, (const ParserChar*)0, "child: face" ) )
                return false;
        }
        if ( validationData->mode < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_POLYGON_MODE, (const ParserChar*)0, "child: mode" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygon_mode__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        polygon_mode__ValidationData* parentValidationData = (polygon_mode__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->mode != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: mode" ) )
                return false;
        }
        if ( parentValidationData->face >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FACE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->face++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygon_mode__face()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_polygon_mode_type( ParserString value )
{
    return validate__gl_polygon_mode_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_polygon_mode_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_polygon_mode_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_polygon_mode_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygon_mode__mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        polygon_mode__ValidationData* parentValidationData = (polygon_mode__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->face < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MODE, (const ParserChar*)0, "sibling: face" ) )
                return false;
        }
        if ( parentValidationData->mode >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MODE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mode++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygon_mode__mode()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__shade_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SHADE_MODEL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SHADE_MODEL;
        }
//        parentValidationData->shade_model++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SHADE_MODEL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SHADE_MODEL;
        }
//        parentValidationData->shade_model++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__shade_model()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_FUNC;
        }
//        parentValidationData->stencil_func++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_FUNC;
        }
//        parentValidationData->stencil_func++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        profile_GLSL__technique__pass__stencil_func__ValidationData* validationData = (profile_GLSL__technique__pass__stencil_func__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__pass__stencil_func__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__pass__stencil_func__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_func()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_func__ValidationData* validationData = (profile_GLSL__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->func < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, "child: func" ) )
                return false;
        }
        if ( validationData->ref < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, "child: ref" ) )
                return false;
        }
        if ( validationData->mask < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC, (const ParserChar*)0, "child: mask" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_func__ValidationData* parentValidationData = (profile_GLSL__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ref != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FUNC, (const ParserChar*)0, "sibling: ref" ) )
                return false;
        }
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FUNC, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->func >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FUNC, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->func++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_func__func()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_func__ref( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_func__ValidationData* parentValidationData = (profile_GLSL__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->func < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_REF, (const ParserChar*)0, "sibling: func" ) )
                return false;
        }
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REF, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->ref >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REF, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ref++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_func__ref()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_func__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_func__ValidationData* parentValidationData = (profile_GLSL__technique__pass__stencil_func__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ref < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MASK, (const ParserChar*)0, "sibling: ref" ) )
                return false;
        }
        if ( parentValidationData->mask >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MASK, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mask++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_func__mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_OP;
        }
//        parentValidationData->stencil_op++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_OP;
        }
//        parentValidationData->stencil_op++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        profile_GLSL__technique__pass__stencil_op__ValidationData* validationData = (profile_GLSL__technique__pass__stencil_op__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__pass__stencil_op__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__pass__stencil_op__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_op()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_op__ValidationData* validationData = (profile_GLSL__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->fail < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, "child: fail" ) )
                return false;
        }
        if ( validationData->zfail < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, "child: zfail" ) )
                return false;
        }
        if ( validationData->zpass < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP, (const ParserChar*)0, "child: zpass" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_stencil_op_type( ParserString value )
{
    return validate__gl_stencil_op_type( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_stencil_op_type( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_stencil_op_type__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__gl_stencil_op_type__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_op__fail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_op__ValidationData* parentValidationData = (profile_GLSL__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->zfail != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FAIL, (const ParserChar*)0, "sibling: zfail" ) )
                return false;
        }
        if ( parentValidationData->zpass != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FAIL, (const ParserChar*)0, "sibling: zpass" ) )
                return false;
        }
        if ( parentValidationData->fail >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FAIL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->fail++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_op__fail()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_op__zfail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_op__ValidationData* parentValidationData = (profile_GLSL__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->fail < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, "sibling: fail" ) )
                return false;
        }
        if ( parentValidationData->zpass != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, "sibling: zpass" ) )
                return false;
        }
        if ( parentValidationData->zfail >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->zfail++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_op__zfail()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_op__zpass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__stencil_op__ValidationData* parentValidationData = (profile_GLSL__technique__pass__stencil_op__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->zfail < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ZPASS, (const ParserChar*)0, "sibling: zfail" ) )
                return false;
        }
        if ( parentValidationData->zpass >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ZPASS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->zpass++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_op__zpass()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_func_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_FUNC_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_FUNC_SEPARATE;
        }
//        parentValidationData->stencil_func_separate++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_FUNC_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_FUNC_SEPARATE;
        }
//        parentValidationData->stencil_func_separate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        stencil_func_separate__ValidationData* validationData = (stencil_func_separate__ValidationData*)mValidationDataStack.newObject(sizeof(stencil_func_separate__ValidationData));
        memset(validationData, 0, sizeof(stencil_func_separate__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_func_separate()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_func_separate__ValidationData* validationData = (stencil_func_separate__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->front < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC_SEPARATE, (const ParserChar*)0, "child: front" ) )
                return false;
        }
        if ( validationData->back < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC_SEPARATE, (const ParserChar*)0, "child: back" ) )
                return false;
        }
        if ( validationData->ref < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC_SEPARATE, (const ParserChar*)0, "child: ref" ) )
                return false;
        }
        if ( validationData->mask < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_FUNC_SEPARATE, (const ParserChar*)0, "child: mask" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__front( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_func_separate__ValidationData* parentValidationData = (stencil_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->back != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FRONT, (const ParserChar*)0, "sibling: back" ) )
                return false;
        }
        if ( parentValidationData->ref != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FRONT, (const ParserChar*)0, "sibling: ref" ) )
                return false;
        }
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FRONT, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->front >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FRONT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->front++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__front()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__back( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_func_separate__ValidationData* parentValidationData = (stencil_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->front < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_BACK, (const ParserChar*)0, "sibling: front" ) )
                return false;
        }
        if ( parentValidationData->ref != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BACK, (const ParserChar*)0, "sibling: ref" ) )
                return false;
        }
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_BACK, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->back >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_BACK, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->back++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__back()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_func_separate__ref( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_func_separate__ValidationData* parentValidationData = (stencil_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->back < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_REF, (const ParserChar*)0, "sibling: back" ) )
                return false;
        }
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REF, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->ref >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REF, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ref++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_func_separate__ref()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_func_separate__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_func_separate__ValidationData* parentValidationData = (stencil_func_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ref < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MASK, (const ParserChar*)0, "sibling: ref" ) )
                return false;
        }
        if ( parentValidationData->mask >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MASK, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mask++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_func_separate__mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_op_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_OP_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_OP_SEPARATE;
        }
//        parentValidationData->stencil_op_separate++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_OP_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_OP_SEPARATE;
        }
//        parentValidationData->stencil_op_separate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        stencil_op_separate__ValidationData* validationData = (stencil_op_separate__ValidationData*)mValidationDataStack.newObject(sizeof(stencil_op_separate__ValidationData));
        memset(validationData, 0, sizeof(stencil_op_separate__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_op_separate()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_op_separate__ValidationData* validationData = (stencil_op_separate__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->face < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP_SEPARATE, (const ParserChar*)0, "child: face" ) )
                return false;
        }
        if ( validationData->fail < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP_SEPARATE, (const ParserChar*)0, "child: fail" ) )
                return false;
        }
        if ( validationData->zfail < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP_SEPARATE, (const ParserChar*)0, "child: zfail" ) )
                return false;
        }
        if ( validationData->zpass < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_OP_SEPARATE, (const ParserChar*)0, "child: zpass" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_op_separate__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_op_separate__ValidationData* parentValidationData = (stencil_op_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->fail != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: fail" ) )
                return false;
        }
        if ( parentValidationData->zfail != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: zfail" ) )
                return false;
        }
        if ( parentValidationData->zpass != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: zpass" ) )
                return false;
        }
        if ( parentValidationData->face >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FACE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->face++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_op_separate__face()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_op_separate__fail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_op_separate__ValidationData* parentValidationData = (stencil_op_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->face < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_FAIL, (const ParserChar*)0, "sibling: face" ) )
                return false;
        }
        if ( parentValidationData->zfail != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FAIL, (const ParserChar*)0, "sibling: zfail" ) )
                return false;
        }
        if ( parentValidationData->zpass != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FAIL, (const ParserChar*)0, "sibling: zpass" ) )
                return false;
        }
        if ( parentValidationData->fail >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FAIL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->fail++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_op_separate__fail()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_op_separate__zfail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_op_separate__ValidationData* parentValidationData = (stencil_op_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->fail < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, "sibling: fail" ) )
                return false;
        }
        if ( parentValidationData->zpass != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, "sibling: zpass" ) )
                return false;
        }
        if ( parentValidationData->zfail >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ZFAIL, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->zfail++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_op_separate__zfail()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_op_separate__zpass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_op_separate__ValidationData* parentValidationData = (stencil_op_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->zfail < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_ZPASS, (const ParserChar*)0, "sibling: zfail" ) )
                return false;
        }
        if ( parentValidationData->zpass >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_ZPASS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->zpass++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_op_separate__zpass()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_mask_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_MASK_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_MASK_SEPARATE;
        }
//        parentValidationData->stencil_mask_separate++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_MASK_SEPARATE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_MASK_SEPARATE;
        }
//        parentValidationData->stencil_mask_separate++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        stencil_mask_separate__ValidationData* validationData = (stencil_mask_separate__ValidationData*)mValidationDataStack.newObject(sizeof(stencil_mask_separate__ValidationData));
        memset(validationData, 0, sizeof(stencil_mask_separate__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_mask_separate()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_mask_separate__ValidationData* validationData = (stencil_mask_separate__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->face < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_MASK_SEPARATE, (const ParserChar*)0, "child: face" ) )
                return false;
        }
        if ( validationData->mask < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_STENCIL_MASK_SEPARATE, (const ParserChar*)0, "child: mask" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_mask_separate__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_mask_separate__ValidationData* parentValidationData = (stencil_mask_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->mask != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FACE, (const ParserChar*)0, "sibling: mask" ) )
                return false;
        }
        if ( parentValidationData->face >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FACE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->face++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_mask_separate__face()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__stencil_mask_separate__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        stencil_mask_separate__ValidationData* parentValidationData = (stencil_mask_separate__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->face < 1 ) // previous sibling minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT, HASH_ELEMENT_MASK, (const ParserChar*)0, "sibling: face" ) )
                return false;
        }
        if ( parentValidationData->mask >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_MASK, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->mask++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__stencil_mask_separate__mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_ENABLE;
        }
//        parentValidationData->light_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_ENABLE;
        }
//        parentValidationData->light_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_AMBIENT;
        }
//        parentValidationData->light_ambient++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_AMBIENT;
        }
//        parentValidationData->light_ambient++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_ambient()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_DIFFUSE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_DIFFUSE;
        }
//        parentValidationData->light_diffuse++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_DIFFUSE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_DIFFUSE;
        }
//        parentValidationData->light_diffuse++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_diffuse()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPECULAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPECULAR;
        }
//        parentValidationData->light_specular++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPECULAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPECULAR;
        }
//        parentValidationData->light_specular++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_specular()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_position( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_POSITION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_POSITION;
        }
//        parentValidationData->light_position++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_POSITION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_POSITION;
        }
//        parentValidationData->light_position++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_position()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_constant_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION;
        }
//        parentValidationData->light_constant_attenuation++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION;
        }
//        parentValidationData->light_constant_attenuation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_constant_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__light_linear_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION;
        }
//        parentValidationData->light_linear_attenuation++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION;
        }
//        parentValidationData->light_linear_attenuation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__light_linear_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_quadratic_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION;
        }
//        parentValidationData->light_quadratic_attenuation++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION;
        }
//        parentValidationData->light_quadratic_attenuation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_quadratic_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_spot_cutoff( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_CUTOFF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_CUTOFF;
        }
//        parentValidationData->light_spot_cutoff++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_CUTOFF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_CUTOFF;
        }
//        parentValidationData->light_spot_cutoff++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_spot_cutoff()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_spot_direction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_DIRECTION;
        }
//        parentValidationData->light_spot_direction++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_DIRECTION;
        }
//        parentValidationData->light_spot_direction++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_spot_direction()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_spot_exponent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_EXPONENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_EXPONENT;
        }
//        parentValidationData->light_spot_exponent++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_SPOT_EXPONENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_SPOT_EXPONENT;
        }
//        parentValidationData->light_spot_exponent++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_spot_exponent()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE1D;
        }
//        parentValidationData->texture1D++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE1D;
        }
//        parentValidationData->texture1D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        texture1D__ValidationData* validationData = (texture1D__ValidationData*)mValidationDataStack.newObject(sizeof(texture1D__ValidationData));
        memset(validationData, 0, sizeof(texture1D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture1D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture1D__ValidationData* validationData = (texture1D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->value != 0 )
            if ( validationData->value < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE1D, (const ParserChar*)0, "child: value" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE1D, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->value == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TEXTURE1D, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__value____gl_sampler1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture1D__ValidationData* parentValidationData = (texture1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

        sampler1D____gl_sampler1D__ValidationData* validationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler1D____gl_sampler1D__ValidationData));
        memset(validationData, 0, sizeof(sampler1D____gl_sampler1D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__value____gl_sampler1D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler1D____gl_sampler1D__ValidationData* validationData = (sampler1D____gl_sampler1D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__param____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 78:
        {
        texture1D__ValidationData* parentValidationData = (texture1D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        case 85:
        {
        texture2D__ValidationData* parentValidationData = (texture2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        case 95:
        {
        texture3D__ValidationData* parentValidationData = (texture3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        case 47:
        {
        textureCUBE__ValidationData* parentValidationData = (textureCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        case 539:
        {
        textureDEPTH__ValidationData* parentValidationData = (textureDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        case 575:
        {
        textureRECT__ValidationData* parentValidationData = (textureRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->value != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: value" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__param____NCName()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE2D;
        }
//        parentValidationData->texture2D++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE2D;
        }
//        parentValidationData->texture2D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        texture2D__ValidationData* validationData = (texture2D__ValidationData*)mValidationDataStack.newObject(sizeof(texture2D__ValidationData));
        memset(validationData, 0, sizeof(texture2D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture2D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture2D__ValidationData* validationData = (texture2D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->value != 0 )
            if ( validationData->value < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE2D, (const ParserChar*)0, "child: value" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE2D, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->value == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TEXTURE2D, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__value____gl_sampler2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture2D__ValidationData* parentValidationData = (texture2D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

        sampler2D____gl_sampler2D__ValidationData* validationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler2D____gl_sampler2D__ValidationData));
        memset(validationData, 0, sizeof(sampler2D____gl_sampler2D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__value____gl_sampler2D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler2D____gl_sampler2D__ValidationData* validationData = (sampler2D____gl_sampler2D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE3D;
        }
//        parentValidationData->texture3D++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE3D;
        }
//        parentValidationData->texture3D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        texture3D__ValidationData* validationData = (texture3D__ValidationData*)mValidationDataStack.newObject(sizeof(texture3D__ValidationData));
        memset(validationData, 0, sizeof(texture3D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture3D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture3D__ValidationData* validationData = (texture3D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->value != 0 )
            if ( validationData->value < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE3D, (const ParserChar*)0, "child: value" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURE3D, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->value == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TEXTURE3D, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__value____gl_sampler3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture3D__ValidationData* parentValidationData = (texture3D__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

        sampler3D____gl_sampler3D__ValidationData* validationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler3D____gl_sampler3D__ValidationData));
        memset(validationData, 0, sizeof(sampler3D____gl_sampler3D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__value____gl_sampler3D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler3D____gl_sampler3D__ValidationData* validationData = (sampler3D____gl_sampler3D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__textureCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURECUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURECUBE;
        }
//        parentValidationData->textureCUBE++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURECUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURECUBE;
        }
//        parentValidationData->textureCUBE++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        textureCUBE__ValidationData* validationData = (textureCUBE__ValidationData*)mValidationDataStack.newObject(sizeof(textureCUBE__ValidationData));
        memset(validationData, 0, sizeof(textureCUBE__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__textureCUBE()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        textureCUBE__ValidationData* validationData = (textureCUBE__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->value != 0 )
            if ( validationData->value < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURECUBE, (const ParserChar*)0, "child: value" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURECUBE, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->value == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TEXTURECUBE, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__value____gl_samplerCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        textureCUBE__ValidationData* parentValidationData = (textureCUBE__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

        samplerCUBE____gl_samplerCUBE__ValidationData* validationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.newObject(sizeof(samplerCUBE____gl_samplerCUBE__ValidationData));
        memset(validationData, 0, sizeof(samplerCUBE____gl_samplerCUBE__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__value____gl_samplerCUBE()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerCUBE____gl_samplerCUBE__ValidationData* validationData = (samplerCUBE____gl_samplerCUBE__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__textureRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURERECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURERECT;
        }
//        parentValidationData->textureRECT++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURERECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURERECT;
        }
//        parentValidationData->textureRECT++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        textureRECT__ValidationData* validationData = (textureRECT__ValidationData*)mValidationDataStack.newObject(sizeof(textureRECT__ValidationData));
        memset(validationData, 0, sizeof(textureRECT__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__textureRECT()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        textureRECT__ValidationData* validationData = (textureRECT__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->value != 0 )
            if ( validationData->value < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURERECT, (const ParserChar*)0, "child: value" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTURERECT, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->value == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TEXTURERECT, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__value____gl_samplerRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        textureRECT__ValidationData* parentValidationData = (textureRECT__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

        samplerRECT____gl_samplerRECT__ValidationData* validationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.newObject(sizeof(samplerRECT____gl_samplerRECT__ValidationData));
        memset(validationData, 0, sizeof(samplerRECT____gl_samplerRECT__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__value____gl_samplerRECT()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerRECT____gl_samplerRECT__ValidationData* validationData = (samplerRECT____gl_samplerRECT__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__textureDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTUREDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTUREDEPTH;
        }
//        parentValidationData->textureDEPTH++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTUREDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTUREDEPTH;
        }
//        parentValidationData->textureDEPTH++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        textureDEPTH__ValidationData* validationData = (textureDEPTH__ValidationData*)mValidationDataStack.newObject(sizeof(textureDEPTH__ValidationData));
        memset(validationData, 0, sizeof(textureDEPTH__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__textureDEPTH()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        textureDEPTH__ValidationData* validationData = (textureDEPTH__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->value != 0 )
            if ( validationData->value < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTUREDEPTH, (const ParserChar*)0, "child: value" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TEXTUREDEPTH, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->value == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TEXTUREDEPTH, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__value____gl_samplerDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        textureDEPTH__ValidationData* parentValidationData = (textureDEPTH__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_VALUE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->value >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_VALUE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->value++;

        samplerDEPTH____gl_samplerDEPTH__ValidationData* validationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.newObject(sizeof(samplerDEPTH____gl_samplerDEPTH__ValidationData));
        memset(validationData, 0, sizeof(samplerDEPTH____gl_samplerDEPTH__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__value____gl_samplerDEPTH()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerDEPTH____gl_samplerDEPTH__ValidationData* validationData = (samplerDEPTH____gl_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_VALUE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture1D_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE1D_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE1D_ENABLE;
        }
//        parentValidationData->texture1D_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE1D_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE1D_ENABLE;
        }
//        parentValidationData->texture1D_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture1D_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture2D_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE2D_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE2D_ENABLE;
        }
//        parentValidationData->texture2D_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE2D_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE2D_ENABLE;
        }
//        parentValidationData->texture2D_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture2D_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture3D_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE3D_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE3D_ENABLE;
        }
//        parentValidationData->texture3D_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE3D_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE3D_ENABLE;
        }
//        parentValidationData->texture3D_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture3D_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__textureCUBE_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURECUBE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURECUBE_ENABLE;
        }
//        parentValidationData->textureCUBE_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURECUBE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURECUBE_ENABLE;
        }
//        parentValidationData->textureCUBE_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__textureCUBE_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__textureRECT_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURERECT_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURERECT_ENABLE;
        }
//        parentValidationData->textureRECT_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURERECT_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURERECT_ENABLE;
        }
//        parentValidationData->textureRECT_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__textureRECT_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__textureDEPTH_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTUREDEPTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTUREDEPTH_ENABLE;
        }
//        parentValidationData->textureDEPTH_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTUREDEPTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTUREDEPTH_ENABLE;
        }
//        parentValidationData->textureDEPTH_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__textureDEPTH_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture_env_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_ENV_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_ENV_COLOR;
        }
//        parentValidationData->texture_env_color++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_ENV_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_ENV_COLOR;
        }
//        parentValidationData->texture_env_color++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture_env_color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture_env_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_ENV_MODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_ENV_MODE;
        }
//        parentValidationData->texture_env_mode++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TEXTURE_ENV_MODE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TEXTURE_ENV_MODE;
        }
//        parentValidationData->texture_env_mode++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture_env_mode()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__clip_plane( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLIP_PLANE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLIP_PLANE;
        }
//        parentValidationData->clip_plane++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLIP_PLANE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLIP_PLANE;
        }
//        parentValidationData->clip_plane++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__clip_plane()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__clip_plane_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLIP_PLANE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLIP_PLANE_ENABLE;
        }
//        parentValidationData->clip_plane_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLIP_PLANE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLIP_PLANE_ENABLE;
        }
//        parentValidationData->clip_plane_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__clip_plane_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__blend_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_COLOR;
        }
//        parentValidationData->blend_color++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_COLOR;
        }
//        parentValidationData->blend_color++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__blend_color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__clear_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_COLOR;
        }
//        parentValidationData->clear_color++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_COLOR;
        }
//        parentValidationData->clear_color++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__clear_color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__clear_stencil( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_STENCIL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_STENCIL;
        }
//        parentValidationData->clear_stencil++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_STENCIL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_STENCIL;
        }
//        parentValidationData->clear_stencil++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__clear_stencil()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__clear_depth( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_DEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_DEPTH;
        }
//        parentValidationData->clear_depth++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CLEAR_DEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CLEAR_DEPTH;
        }
//        parentValidationData->clear_depth++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__clear_depth()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__color_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MASK;
        }
//        parentValidationData->color_mask++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MASK;
        }
//        parentValidationData->color_mask++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__color_mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__depth_bounds( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_BOUNDS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_BOUNDS;
        }
//        parentValidationData->depth_bounds++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_BOUNDS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_BOUNDS;
        }
//        parentValidationData->depth_bounds++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__depth_bounds()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__depth_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_MASK;
        }
//        parentValidationData->depth_mask++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_MASK;
        }
//        parentValidationData->depth_mask++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__depth_mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__depth_range( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_RANGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_RANGE;
        }
//        parentValidationData->depth_range++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_RANGE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_RANGE;
        }
//        parentValidationData->depth_range++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__depth_range()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__fog_density( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_DENSITY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_DENSITY;
        }
//        parentValidationData->fog_density++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_DENSITY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_DENSITY;
        }
//        parentValidationData->fog_density++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__fog_density()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__fog_start( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_START, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_START;
        }
//        parentValidationData->fog_start++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_START, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_START;
        }
//        parentValidationData->fog_start++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__fog_start()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__fog_end( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_END, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_END;
        }
//        parentValidationData->fog_end++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_END, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_END;
        }
//        parentValidationData->fog_end++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__fog_end()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__fog_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_COLOR;
        }
//        parentValidationData->fog_color++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_COLOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_COLOR;
        }
//        parentValidationData->fog_color++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__fog_color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_model_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_AMBIENT;
        }
//        parentValidationData->light_model_ambient++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_AMBIENT;
        }
//        parentValidationData->light_model_ambient++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_model_ambient()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__lighting_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHTING_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHTING_ENABLE;
        }
//        parentValidationData->lighting_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHTING_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHTING_ENABLE;
        }
//        parentValidationData->lighting_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__lighting_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__line_stipple( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_STIPPLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_STIPPLE;
        }
//        parentValidationData->line_stipple++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_STIPPLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_STIPPLE;
        }
//        parentValidationData->line_stipple++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__line_stipple()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__line_width( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_WIDTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_WIDTH;
        }
//        parentValidationData->line_width++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_WIDTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_WIDTH;
        }
//        parentValidationData->line_width++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__line_width()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__material_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_AMBIENT;
        }
//        parentValidationData->material_ambient++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_AMBIENT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_AMBIENT;
        }
//        parentValidationData->material_ambient++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__material_ambient()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__material_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_DIFFUSE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_DIFFUSE;
        }
//        parentValidationData->material_diffuse++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_DIFFUSE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_DIFFUSE;
        }
//        parentValidationData->material_diffuse++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__material_diffuse()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__material_emission( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_EMISSION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_EMISSION;
        }
//        parentValidationData->material_emission++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_EMISSION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_EMISSION;
        }
//        parentValidationData->material_emission++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__material_emission()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__material_shininess( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_SHININESS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_SHININESS;
        }
//        parentValidationData->material_shininess++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_SHININESS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_SHININESS;
        }
//        parentValidationData->material_shininess++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__material_shininess()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__material_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_SPECULAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_SPECULAR;
        }
//        parentValidationData->material_specular++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MATERIAL_SPECULAR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MATERIAL_SPECULAR;
        }
//        parentValidationData->material_specular++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__material_specular()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__model_view_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MODEL_VIEW_MATRIX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MODEL_VIEW_MATRIX;
        }
//        parentValidationData->model_view_matrix++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MODEL_VIEW_MATRIX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MODEL_VIEW_MATRIX;
        }
//        parentValidationData->model_view_matrix++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__model_view_matrix()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__point_distance_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_DISTANCE_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_DISTANCE_ATTENUATION;
        }
//        parentValidationData->point_distance_attenuation++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_DISTANCE_ATTENUATION, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_DISTANCE_ATTENUATION;
        }
//        parentValidationData->point_distance_attenuation++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__point_distance_attenuation()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__point_fade_threshold_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE;
        }
//        parentValidationData->point_fade_threshold_size++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE;
        }
//        parentValidationData->point_fade_threshold_size++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__point_fade_threshold_size()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__point_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE;
        }
//        parentValidationData->point_size++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE;
        }
//        parentValidationData->point_size++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__point_size()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__point_size_min( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE_MIN, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE_MIN;
        }
//        parentValidationData->point_size_min++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE_MIN, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE_MIN;
        }
//        parentValidationData->point_size_min++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__point_size_min()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__point_size_max( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE_MAX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE_MAX;
        }
//        parentValidationData->point_size_max++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SIZE_MAX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SIZE_MAX;
        }
//        parentValidationData->point_size_max++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__point_size_max()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__polygon_offset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET;
        }
//        parentValidationData->polygon_offset++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET;
        }
//        parentValidationData->polygon_offset++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__polygon_offset()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__projection_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PROJECTION_MATRIX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PROJECTION_MATRIX;
        }
//        parentValidationData->projection_matrix++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PROJECTION_MATRIX, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PROJECTION_MATRIX;
        }
//        parentValidationData->projection_matrix++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__projection_matrix()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__scissor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCISSOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCISSOR;
        }
//        parentValidationData->scissor++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCISSOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCISSOR;
        }
//        parentValidationData->scissor++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__scissor()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_MASK;
        }
//        parentValidationData->stencil_mask++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_MASK, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_MASK;
        }
//        parentValidationData->stencil_mask++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_mask()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__alpha_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ALPHA_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ALPHA_TEST_ENABLE;
        }
//        parentValidationData->alpha_test_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ALPHA_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ALPHA_TEST_ENABLE;
        }
//        parentValidationData->alpha_test_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__alpha_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__auto_normal_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_AUTO_NORMAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_AUTO_NORMAL_ENABLE;
        }
//        parentValidationData->auto_normal_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_AUTO_NORMAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_AUTO_NORMAL_ENABLE;
        }
//        parentValidationData->auto_normal_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__auto_normal_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__blend_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_ENABLE;
        }
//        parentValidationData->blend_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLEND_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLEND_ENABLE;
        }
//        parentValidationData->blend_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__blend_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__color_logic_op_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE;
        }
//        parentValidationData->color_logic_op_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE;
        }
//        parentValidationData->color_logic_op_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__color_logic_op_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__color_material_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MATERIAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MATERIAL_ENABLE;
        }
//        parentValidationData->color_material_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COLOR_MATERIAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COLOR_MATERIAL_ENABLE;
        }
//        parentValidationData->color_material_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__color_material_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__cull_face_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CULL_FACE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CULL_FACE_ENABLE;
        }
//        parentValidationData->cull_face_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CULL_FACE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CULL_FACE_ENABLE;
        }
//        parentValidationData->cull_face_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__cull_face_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__depth_bounds_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_BOUNDS_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_BOUNDS_ENABLE;
        }
//        parentValidationData->depth_bounds_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_BOUNDS_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_BOUNDS_ENABLE;
        }
//        parentValidationData->depth_bounds_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__depth_bounds_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__depth_clamp_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_CLAMP_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_CLAMP_ENABLE;
        }
//        parentValidationData->depth_clamp_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_CLAMP_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_CLAMP_ENABLE;
        }
//        parentValidationData->depth_clamp_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__depth_clamp_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__depth_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_TEST_ENABLE;
        }
//        parentValidationData->depth_test_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DEPTH_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DEPTH_TEST_ENABLE;
        }
//        parentValidationData->depth_test_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__depth_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__dither_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DITHER_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DITHER_ENABLE;
        }
//        parentValidationData->dither_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_DITHER_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_DITHER_ENABLE;
        }
//        parentValidationData->dither_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__dither_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__fog_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_ENABLE;
        }
//        parentValidationData->fog_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FOG_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FOG_ENABLE;
        }
//        parentValidationData->fog_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__fog_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__light_model_local_viewer_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE;
        }
//        parentValidationData->light_model_local_viewer_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE;
        }
//        parentValidationData->light_model_local_viewer_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__light_model_local_viewer_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__light_model_two_side_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE;
        }
//        parentValidationData->light_model_two_side_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE;
        }
//        parentValidationData->light_model_two_side_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__light_model_two_side_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__line_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_SMOOTH_ENABLE;
        }
//        parentValidationData->line_smooth_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_SMOOTH_ENABLE;
        }
//        parentValidationData->line_smooth_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__line_smooth_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__line_stipple_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_STIPPLE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_STIPPLE_ENABLE;
        }
//        parentValidationData->line_stipple_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LINE_STIPPLE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LINE_STIPPLE_ENABLE;
        }
//        parentValidationData->line_stipple_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__line_stipple_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__logic_op_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LOGIC_OP_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LOGIC_OP_ENABLE;
        }
//        parentValidationData->logic_op_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LOGIC_OP_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LOGIC_OP_ENABLE;
        }
//        parentValidationData->logic_op_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__logic_op_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__multisample_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MULTISAMPLE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MULTISAMPLE_ENABLE;
        }
//        parentValidationData->multisample_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_MULTISAMPLE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_MULTISAMPLE_ENABLE;
        }
//        parentValidationData->multisample_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__multisample_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__normalize_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NORMALIZE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NORMALIZE_ENABLE;
        }
//        parentValidationData->normalize_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NORMALIZE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NORMALIZE_ENABLE;
        }
//        parentValidationData->normalize_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__normalize_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__point_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SMOOTH_ENABLE;
        }
//        parentValidationData->point_smooth_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POINT_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POINT_SMOOTH_ENABLE;
        }
//        parentValidationData->point_smooth_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__point_smooth_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__polygon_offset_fill_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE;
        }
//        parentValidationData->polygon_offset_fill_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE;
        }
//        parentValidationData->polygon_offset_fill_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__polygon_offset_fill_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygon_offset_line_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE;
        }
//        parentValidationData->polygon_offset_line_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE;
        }
//        parentValidationData->polygon_offset_line_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygon_offset_line_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygon_offset_point_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE;
        }
//        parentValidationData->polygon_offset_point_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE;
        }
//        parentValidationData->polygon_offset_point_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygon_offset_point_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygon_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_SMOOTH_ENABLE;
        }
//        parentValidationData->polygon_smooth_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_SMOOTH_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_SMOOTH_ENABLE;
        }
//        parentValidationData->polygon_smooth_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygon_smooth_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__polygon_stipple_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_STIPPLE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_STIPPLE_ENABLE;
        }
//        parentValidationData->polygon_stipple_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_POLYGON_STIPPLE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_POLYGON_STIPPLE_ENABLE;
        }
//        parentValidationData->polygon_stipple_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__polygon_stipple_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__rescale_normal_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_RESCALE_NORMAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_RESCALE_NORMAL_ENABLE;
        }
//        parentValidationData->rescale_normal_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_RESCALE_NORMAL_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_RESCALE_NORMAL_ENABLE;
        }
//        parentValidationData->rescale_normal_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__rescale_normal_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE;
        }
//        parentValidationData->sample_alpha_to_coverage_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE;
        }
//        parentValidationData->sample_alpha_to_coverage_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__sample_alpha_to_one_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE;
        }
//        parentValidationData->sample_alpha_to_one_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE;
        }
//        parentValidationData->sample_alpha_to_one_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__sample_alpha_to_one_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__sample_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE;
        }
//        parentValidationData->sample_coverage_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE;
        }
//        parentValidationData->sample_coverage_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__sample_coverage_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__scissor_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCISSOR_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCISSOR_TEST_ENABLE;
        }
//        parentValidationData->scissor_test_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SCISSOR_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SCISSOR_TEST_ENABLE;
        }
//        parentValidationData->scissor_test_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__scissor_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__stencil_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_TEST_ENABLE;
        }
//        parentValidationData->stencil_test_enable++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_STENCIL_TEST_ENABLE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_STENCIL_TEST_ENABLE;
        }
//        parentValidationData->stencil_test_enable++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__stencil_test_enable()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__gl_hook_abstract( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 300:
        {
        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_GL_HOOK_ABSTRACT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_GL_HOOK_ABSTRACT;
        }
//        parentValidationData->gl_hook_abstract++;

        break;
        }

        case 302:
        {
        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_GL_HOOK_ABSTRACT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_GL_HOOK_ABSTRACT;
        }
//        parentValidationData->gl_hook_abstract++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.newObject(sizeof(init_as_null__ValidationData));
        memset(validationData, 0, sizeof(init_as_null__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__gl_hook_abstract()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        init_as_null__ValidationData* validationData = (init_as_null__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_pipeline_stage( ParserString value )
{
    return validate__glsl_pipeline_stage( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_pipeline_stage( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_pipeline_stage__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__glsl_pipeline_stage__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__shader( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__ValidationData* parentValidationData = (profile_GLSL__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SHADER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SHADER;
        }
//        parentValidationData->shader++;

        profile_GLSL__technique__pass__shader__ValidationData* validationData = (profile_GLSL__technique__pass__shader__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__pass__shader__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__pass__shader__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__shader()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__shader__ValidationData* validationData = (profile_GLSL__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BIND) || (validationData->validation_current_state == HASH_ELEMENT_NAME) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SHADER, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__shader__compiler_target( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__shader__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COMPILER_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COMPILER_TARGET;
        }
//        parentValidationData->compiler_target++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__shader__compiler_target()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__compiler_options( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 180:
        {
        profile_CG__technique__pass__shader__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_COMPILER_TARGET) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COMPILER_OPTIONS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COMPILER_OPTIONS;
        }
//        parentValidationData->compiler_options++;

        break;
        }

        case 181:
        {
        profile_GLSL__technique__pass__shader__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_COMPILER_TARGET) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COMPILER_OPTIONS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COMPILER_OPTIONS;
        }
//        parentValidationData->compiler_options++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__compiler_options()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__shader__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__shader__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COMPILER_OPTIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_COMPILER_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NAME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NAME;
        }
//        parentValidationData->name++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__shader__name()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__shader__bind( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__shader__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BIND) || (parentValidationData->validation_current_state == HASH_ELEMENT_NAME) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BIND, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BIND;
        }
//        parentValidationData->bind++;

        profile_GLSL__technique__pass__shader__bind__ValidationData* validationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.newObject(sizeof(profile_GLSL__technique__pass__shader__bind__ValidationData));
        memset(validationData, 0, sizeof(profile_GLSL__technique__pass__shader__bind__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__shader__bind()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__shader__bind__ValidationData* validationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_PARAM) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_BIND, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_GLSL__technique__pass__shader__bind__param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_GLSL__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_GLSL__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PARAM;
        }
//        parentValidationData->param++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_GLSL__technique__pass__shader__bind__param()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__ValidationData* validationData = (profile_CG__ValidationData*)mValidationDataStack.newObject(sizeof(profile_CG__ValidationData));
        memset(validationData, 0, sizeof(profile_CG__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__ValidationData* validationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PROFILE_CG, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__newparam____cg_newparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 534:
        {
        profile_CG__ValidationData* parentValidationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        newparam____cg_newparam__ValidationData* validationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.newObject(sizeof(newparam____cg_newparam__ValidationData));
        memset(validationData, 0, sizeof(newparam____cg_newparam__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__newparam____cg_newparam()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        newparam____cg_newparam__ValidationData* validationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FIXED) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF) || (validationData->validation_current_state == HASH_ELEMENT_HALF1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X2) || (validationData->validation_current_state == HASH_ELEMENT_INT1X3) || (validationData->validation_current_state == HASH_ELEMENT_INT1X4) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X1) || (validationData->validation_current_state == HASH_ELEMENT_INT2X2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X3) || (validationData->validation_current_state == HASH_ELEMENT_INT2X4) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X1) || (validationData->validation_current_state == HASH_ELEMENT_INT3X2) || (validationData->validation_current_state == HASH_ELEMENT_INT3X3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X4) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_INT4X1) || (validationData->validation_current_state == HASH_ELEMENT_INT4X2) || (validationData->validation_current_state == HASH_ELEMENT_INT4X3) || (validationData->validation_current_state == HASH_ELEMENT_INT4X4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_STRING) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == HASH_ELEMENT_USERTYPE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool____cg_bool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL;
        }
//        parentValidationData->_bool++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool____cg_bool()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1;
        }
//        parentValidationData->bool1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1;
        }
//        parentValidationData->bool1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1;
        }
//        parentValidationData->bool1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1;
        }
//        parentValidationData->bool1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1;
        }
//        parentValidationData->bool1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1;
        }
//        parentValidationData->bool1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1;
        }
//        parentValidationData->bool1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2__stream( const bool* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2__streamEnd( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool2____cg_bool2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2;
        }
//        parentValidationData->bool2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool2____cg_bool2__ValidationData* validationData = (bool2____cg_bool2__ValidationData*)mValidationDataStack.newObject(sizeof(bool2____cg_bool2__ValidationData));
        memset(validationData, 0, sizeof(bool2____cg_bool2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool2____cg_bool2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3__stream( const bool* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3__streamEnd( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool3____cg_bool3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3;
        }
//        parentValidationData->bool3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool3____cg_bool3__ValidationData* validationData = (bool3____cg_bool3__ValidationData*)mValidationDataStack.newObject(sizeof(bool3____cg_bool3__ValidationData));
        memset(validationData, 0, sizeof(bool3____cg_bool3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool3____cg_bool3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4__stream( const bool* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4__streamEnd( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool4____cg_bool4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4;
        }
//        parentValidationData->bool4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool4____cg_bool4__ValidationData* validationData = (bool4____cg_bool4__ValidationData*)mValidationDataStack.newObject(sizeof(bool4____cg_bool4__ValidationData));
        memset(validationData, 0, sizeof(bool4____cg_bool4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool4____cg_bool4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x1( const bool* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x1__stream( const bool* value, size_t length )
{

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x1__streamEnd( const bool* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X1;
        }
//        parentValidationData->bool1x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X1;
        }
//        parentValidationData->bool1x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X1;
        }
//        parentValidationData->bool1x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X1;
        }
//        parentValidationData->bool1x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X1;
        }
//        parentValidationData->bool1x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X1;
        }
//        parentValidationData->bool1x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X1;
        }
//        parentValidationData->bool1x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool1x1__ValidationData* validationData = (bool1x1__ValidationData*)mValidationDataStack.newObject(sizeof(bool1x1__ValidationData));
        memset(validationData, 0, sizeof(bool1x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool1x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x2( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x2__stream( const bool* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x2__streamEnd( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X2;
        }
//        parentValidationData->bool1x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X2;
        }
//        parentValidationData->bool1x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X2;
        }
//        parentValidationData->bool1x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X2;
        }
//        parentValidationData->bool1x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X2;
        }
//        parentValidationData->bool1x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X2;
        }
//        parentValidationData->bool1x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X2;
        }
//        parentValidationData->bool1x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool1x2__ValidationData* validationData = (bool1x2__ValidationData*)mValidationDataStack.newObject(sizeof(bool1x2__ValidationData));
        memset(validationData, 0, sizeof(bool1x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool1x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x3( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x3__stream( const bool* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x3__streamEnd( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X3;
        }
//        parentValidationData->bool1x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X3;
        }
//        parentValidationData->bool1x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X3;
        }
//        parentValidationData->bool1x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X3;
        }
//        parentValidationData->bool1x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X3;
        }
//        parentValidationData->bool1x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X3;
        }
//        parentValidationData->bool1x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X3;
        }
//        parentValidationData->bool1x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool1x3__ValidationData* validationData = (bool1x3__ValidationData*)mValidationDataStack.newObject(sizeof(bool1x3__ValidationData));
        memset(validationData, 0, sizeof(bool1x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool1x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x4( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x4__stream( const bool* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool1x4__streamEnd( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X4;
        }
//        parentValidationData->bool1x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X4;
        }
//        parentValidationData->bool1x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X4;
        }
//        parentValidationData->bool1x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X4;
        }
//        parentValidationData->bool1x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X4;
        }
//        parentValidationData->bool1x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X4;
        }
//        parentValidationData->bool1x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL1X4;
        }
//        parentValidationData->bool1x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool1x4__ValidationData* validationData = (bool1x4__ValidationData*)mValidationDataStack.newObject(sizeof(bool1x4__ValidationData));
        memset(validationData, 0, sizeof(bool1x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool1x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x1( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x1__stream( const bool* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x1__streamEnd( const bool* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X1;
        }
//        parentValidationData->bool2x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X1;
        }
//        parentValidationData->bool2x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X1;
        }
//        parentValidationData->bool2x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X1;
        }
//        parentValidationData->bool2x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X1;
        }
//        parentValidationData->bool2x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X1;
        }
//        parentValidationData->bool2x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X1;
        }
//        parentValidationData->bool2x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool2x1__ValidationData* validationData = (bool2x1__ValidationData*)mValidationDataStack.newObject(sizeof(bool2x1__ValidationData));
        memset(validationData, 0, sizeof(bool2x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool2x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x2( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x2__stream( const bool* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x2__streamEnd( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X2;
        }
//        parentValidationData->bool2x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X2;
        }
//        parentValidationData->bool2x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X2;
        }
//        parentValidationData->bool2x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X2;
        }
//        parentValidationData->bool2x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X2;
        }
//        parentValidationData->bool2x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X2;
        }
//        parentValidationData->bool2x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X2;
        }
//        parentValidationData->bool2x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool2x2__ValidationData* validationData = (bool2x2__ValidationData*)mValidationDataStack.newObject(sizeof(bool2x2__ValidationData));
        memset(validationData, 0, sizeof(bool2x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool2x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x3( const bool* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x3__stream( const bool* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x3__streamEnd( const bool* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X3;
        }
//        parentValidationData->bool2x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X3;
        }
//        parentValidationData->bool2x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X3;
        }
//        parentValidationData->bool2x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X3;
        }
//        parentValidationData->bool2x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X3;
        }
//        parentValidationData->bool2x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X3;
        }
//        parentValidationData->bool2x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X3;
        }
//        parentValidationData->bool2x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool2x3__ValidationData* validationData = (bool2x3__ValidationData*)mValidationDataStack.newObject(sizeof(bool2x3__ValidationData));
        memset(validationData, 0, sizeof(bool2x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool2x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x4( const bool* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x4__stream( const bool* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool2x4__streamEnd( const bool* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X4;
        }
//        parentValidationData->bool2x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X4;
        }
//        parentValidationData->bool2x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X4;
        }
//        parentValidationData->bool2x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X4;
        }
//        parentValidationData->bool2x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X4;
        }
//        parentValidationData->bool2x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X4;
        }
//        parentValidationData->bool2x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL2X4;
        }
//        parentValidationData->bool2x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool2x4__ValidationData* validationData = (bool2x4__ValidationData*)mValidationDataStack.newObject(sizeof(bool2x4__ValidationData));
        memset(validationData, 0, sizeof(bool2x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool2x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x1( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x1__stream( const bool* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x1__streamEnd( const bool* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X1;
        }
//        parentValidationData->bool3x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X1;
        }
//        parentValidationData->bool3x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X1;
        }
//        parentValidationData->bool3x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X1;
        }
//        parentValidationData->bool3x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X1;
        }
//        parentValidationData->bool3x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X1;
        }
//        parentValidationData->bool3x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X1;
        }
//        parentValidationData->bool3x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool3x1__ValidationData* validationData = (bool3x1__ValidationData*)mValidationDataStack.newObject(sizeof(bool3x1__ValidationData));
        memset(validationData, 0, sizeof(bool3x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool3x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x2( const bool* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x2__stream( const bool* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x2__streamEnd( const bool* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X2;
        }
//        parentValidationData->bool3x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X2;
        }
//        parentValidationData->bool3x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X2;
        }
//        parentValidationData->bool3x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X2;
        }
//        parentValidationData->bool3x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X2;
        }
//        parentValidationData->bool3x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X2;
        }
//        parentValidationData->bool3x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X2;
        }
//        parentValidationData->bool3x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool3x2__ValidationData* validationData = (bool3x2__ValidationData*)mValidationDataStack.newObject(sizeof(bool3x2__ValidationData));
        memset(validationData, 0, sizeof(bool3x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool3x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x3( const bool* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x3__stream( const bool* value, size_t length )
{

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x3__streamEnd( const bool* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X3;
        }
//        parentValidationData->bool3x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X3;
        }
//        parentValidationData->bool3x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X3;
        }
//        parentValidationData->bool3x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X3;
        }
//        parentValidationData->bool3x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X3;
        }
//        parentValidationData->bool3x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X3;
        }
//        parentValidationData->bool3x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X3;
        }
//        parentValidationData->bool3x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool3x3__ValidationData* validationData = (bool3x3__ValidationData*)mValidationDataStack.newObject(sizeof(bool3x3__ValidationData));
        memset(validationData, 0, sizeof(bool3x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool3x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x4( const bool* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x4__stream( const bool* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool3x4__streamEnd( const bool* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X4;
        }
//        parentValidationData->bool3x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X4;
        }
//        parentValidationData->bool3x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X4;
        }
//        parentValidationData->bool3x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X4;
        }
//        parentValidationData->bool3x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X4;
        }
//        parentValidationData->bool3x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X4;
        }
//        parentValidationData->bool3x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL3X4;
        }
//        parentValidationData->bool3x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool3x4__ValidationData* validationData = (bool3x4__ValidationData*)mValidationDataStack.newObject(sizeof(bool3x4__ValidationData));
        memset(validationData, 0, sizeof(bool3x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool3x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x1( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x1__stream( const bool* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x1__streamEnd( const bool* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X1;
        }
//        parentValidationData->bool4x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X1;
        }
//        parentValidationData->bool4x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X1;
        }
//        parentValidationData->bool4x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X1;
        }
//        parentValidationData->bool4x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X1;
        }
//        parentValidationData->bool4x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X1;
        }
//        parentValidationData->bool4x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X1;
        }
//        parentValidationData->bool4x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool4x1__ValidationData* validationData = (bool4x1__ValidationData*)mValidationDataStack.newObject(sizeof(bool4x1__ValidationData));
        memset(validationData, 0, sizeof(bool4x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool4x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x2( const bool* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x2__stream( const bool* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x2__streamEnd( const bool* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X2;
        }
//        parentValidationData->bool4x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X2;
        }
//        parentValidationData->bool4x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X2;
        }
//        parentValidationData->bool4x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X2;
        }
//        parentValidationData->bool4x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X2;
        }
//        parentValidationData->bool4x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X2;
        }
//        parentValidationData->bool4x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X2;
        }
//        parentValidationData->bool4x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool4x2__ValidationData* validationData = (bool4x2__ValidationData*)mValidationDataStack.newObject(sizeof(bool4x2__ValidationData));
        memset(validationData, 0, sizeof(bool4x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool4x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x3( const bool* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x3__stream( const bool* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x3__streamEnd( const bool* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X3;
        }
//        parentValidationData->bool4x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X3;
        }
//        parentValidationData->bool4x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X3;
        }
//        parentValidationData->bool4x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X3;
        }
//        parentValidationData->bool4x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X3;
        }
//        parentValidationData->bool4x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X3;
        }
//        parentValidationData->bool4x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X3;
        }
//        parentValidationData->bool4x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool4x3__ValidationData* validationData = (bool4x3__ValidationData*)mValidationDataStack.newObject(sizeof(bool4x3__ValidationData));
        memset(validationData, 0, sizeof(bool4x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool4x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x4( const bool* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x4__stream( const bool* value, size_t length )
{

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_bool4x4__streamEnd( const bool* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__bool4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X4;
        }
//        parentValidationData->bool4x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X4;
        }
//        parentValidationData->bool4x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X4;
        }
//        parentValidationData->bool4x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X4;
        }
//        parentValidationData->bool4x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X4;
        }
//        parentValidationData->bool4x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X4;
        }
//        parentValidationData->bool4x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BOOL4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BOOL4X4;
        }
//        parentValidationData->bool4x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        bool4x4__ValidationData* validationData = (bool4x4__ValidationData*)mValidationDataStack.newObject(sizeof(bool4x4__ValidationData));
        memset(validationData, 0, sizeof(bool4x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__bool4x4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float____cg_float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT;
        }
//        parentValidationData->_float++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float____cg_float()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1;
        }
//        parentValidationData->float1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1;
        }
//        parentValidationData->float1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1;
        }
//        parentValidationData->float1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1;
        }
//        parentValidationData->float1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1;
        }
//        parentValidationData->float1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1;
        }
//        parentValidationData->float1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1;
        }
//        parentValidationData->float1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2____cg_float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2;
        }
//        parentValidationData->float2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2____cg_float2__ValidationData* validationData = (float2____cg_float2__ValidationData*)mValidationDataStack.newObject(sizeof(float2____cg_float2__ValidationData));
        memset(validationData, 0, sizeof(float2____cg_float2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2____cg_float2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3____cg_float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3;
        }
//        parentValidationData->float3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3____cg_float3__ValidationData* validationData = (float3____cg_float3__ValidationData*)mValidationDataStack.newObject(sizeof(float3____cg_float3__ValidationData));
        memset(validationData, 0, sizeof(float3____cg_float3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3____cg_float3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4____cg_float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4;
        }
//        parentValidationData->float4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4____cg_float4__ValidationData* validationData = (float4____cg_float4__ValidationData*)mValidationDataStack.newObject(sizeof(float4____cg_float4__ValidationData));
        memset(validationData, 0, sizeof(float4____cg_float4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4____cg_float4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x1( const float* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x1__stream( const float* value, size_t length )
{

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x1__streamEnd( const float* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x1____cg_float1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X1;
        }
//        parentValidationData->float1x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float1x1____cg_float1x1__ValidationData* validationData = (float1x1____cg_float1x1__ValidationData*)mValidationDataStack.newObject(sizeof(float1x1____cg_float1x1__ValidationData));
        memset(validationData, 0, sizeof(float1x1____cg_float1x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x1____cg_float1x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x2____cg_float1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X2;
        }
//        parentValidationData->float1x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float1x2____cg_float1x2__ValidationData* validationData = (float1x2____cg_float1x2__ValidationData*)mValidationDataStack.newObject(sizeof(float1x2____cg_float1x2__ValidationData));
        memset(validationData, 0, sizeof(float1x2____cg_float1x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x2____cg_float1x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x3____cg_float1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X3;
        }
//        parentValidationData->float1x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float1x3____cg_float1x3__ValidationData* validationData = (float1x3____cg_float1x3__ValidationData*)mValidationDataStack.newObject(sizeof(float1x3____cg_float1x3__ValidationData));
        memset(validationData, 0, sizeof(float1x3____cg_float1x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x3____cg_float1x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float1x4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float1x4____cg_float1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT1X4;
        }
//        parentValidationData->float1x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float1x4____cg_float1x4__ValidationData* validationData = (float1x4____cg_float1x4__ValidationData*)mValidationDataStack.newObject(sizeof(float1x4____cg_float1x4__ValidationData));
        memset(validationData, 0, sizeof(float1x4____cg_float1x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float1x4____cg_float1x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x1( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x1__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x1__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x1____cg_float2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X1;
        }
//        parentValidationData->float2x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x1____cg_float2x1__ValidationData* validationData = (float2x1____cg_float2x1__ValidationData*)mValidationDataStack.newObject(sizeof(float2x1____cg_float2x1__ValidationData));
        memset(validationData, 0, sizeof(float2x1____cg_float2x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x1____cg_float2x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x2( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x2__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x2__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x2____cg_float2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X2;
        }
//        parentValidationData->float2x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x2____cg_float2x2__ValidationData* validationData = (float2x2____cg_float2x2__ValidationData*)mValidationDataStack.newObject(sizeof(float2x2____cg_float2x2__ValidationData));
        memset(validationData, 0, sizeof(float2x2____cg_float2x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x2____cg_float2x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x3( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x3__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x3__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x3____cg_float2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X3;
        }
//        parentValidationData->float2x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x3____cg_float2x3__ValidationData* validationData = (float2x3____cg_float2x3__ValidationData*)mValidationDataStack.newObject(sizeof(float2x3____cg_float2x3__ValidationData));
        memset(validationData, 0, sizeof(float2x3____cg_float2x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x3____cg_float2x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x4( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x4__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float2x4__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float2x4____cg_float2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT2X4;
        }
//        parentValidationData->float2x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float2x4____cg_float2x4__ValidationData* validationData = (float2x4____cg_float2x4__ValidationData*)mValidationDataStack.newObject(sizeof(float2x4____cg_float2x4__ValidationData));
        memset(validationData, 0, sizeof(float2x4____cg_float2x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float2x4____cg_float2x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x1( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x1__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x1__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x1____cg_float3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X1;
        }
//        parentValidationData->float3x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x1____cg_float3x1__ValidationData* validationData = (float3x1____cg_float3x1__ValidationData*)mValidationDataStack.newObject(sizeof(float3x1____cg_float3x1__ValidationData));
        memset(validationData, 0, sizeof(float3x1____cg_float3x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x1____cg_float3x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x2( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x2__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x2__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x2____cg_float3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X2;
        }
//        parentValidationData->float3x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x2____cg_float3x2__ValidationData* validationData = (float3x2____cg_float3x2__ValidationData*)mValidationDataStack.newObject(sizeof(float3x2____cg_float3x2__ValidationData));
        memset(validationData, 0, sizeof(float3x2____cg_float3x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x2____cg_float3x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x3( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x3__stream( const float* value, size_t length )
{

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x3__streamEnd( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x3____cg_float3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X3;
        }
//        parentValidationData->float3x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x3____cg_float3x3__ValidationData* validationData = (float3x3____cg_float3x3__ValidationData*)mValidationDataStack.newObject(sizeof(float3x3____cg_float3x3__ValidationData));
        memset(validationData, 0, sizeof(float3x3____cg_float3x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x3____cg_float3x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x4( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x4__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float3x4__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float3x4____cg_float3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT3X4;
        }
//        parentValidationData->float3x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float3x4____cg_float3x4__ValidationData* validationData = (float3x4____cg_float3x4__ValidationData*)mValidationDataStack.newObject(sizeof(float3x4____cg_float3x4__ValidationData));
        memset(validationData, 0, sizeof(float3x4____cg_float3x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float3x4____cg_float3x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x1( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x1__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x1__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x1____cg_float4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X1;
        }
//        parentValidationData->float4x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4x1____cg_float4x1__ValidationData* validationData = (float4x1____cg_float4x1__ValidationData*)mValidationDataStack.newObject(sizeof(float4x1____cg_float4x1__ValidationData));
        memset(validationData, 0, sizeof(float4x1____cg_float4x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x1____cg_float4x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x2( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x2__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x2__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x2____cg_float4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X2;
        }
//        parentValidationData->float4x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4x2____cg_float4x2__ValidationData* validationData = (float4x2____cg_float4x2__ValidationData*)mValidationDataStack.newObject(sizeof(float4x2____cg_float4x2__ValidationData));
        memset(validationData, 0, sizeof(float4x2____cg_float4x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x2____cg_float4x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x3( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x3__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x3__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x3____cg_float4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X3;
        }
//        parentValidationData->float4x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4x3____cg_float4x3__ValidationData* validationData = (float4x3____cg_float4x3__ValidationData*)mValidationDataStack.newObject(sizeof(float4x3____cg_float4x3__ValidationData));
        memset(validationData, 0, sizeof(float4x3____cg_float4x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x3____cg_float4x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x4( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x4__stream( const float* value, size_t length )
{

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_float4x4__streamEnd( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__float4x4____cg_float4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FLOAT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FLOAT4X4;
        }
//        parentValidationData->float4x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        float4x4____cg_float4x4__ValidationData* validationData = (float4x4____cg_float4x4__ValidationData*)mValidationDataStack.newObject(sizeof(float4x4____cg_float4x4__ValidationData));
        memset(validationData, 0, sizeof(float4x4____cg_float4x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__float4x4____cg_float4x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int( const sint32 value )
{
    if( value < -2147483648 )
        return ParserError::ERROR_VALIDATION_MIN_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int____cg_int( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT;
        }
//        parentValidationData->_int++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int____cg_int()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1( const sint32 value )
{
    if( value < -2147483648 )
        return ParserError::ERROR_VALIDATION_MIN_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1;
        }
//        parentValidationData->int1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1;
        }
//        parentValidationData->int1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1;
        }
//        parentValidationData->int1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1;
        }
//        parentValidationData->int1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1;
        }
//        parentValidationData->int1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1;
        }
//        parentValidationData->int1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1;
        }
//        parentValidationData->int1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2__stream( const sint32* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2__streamEnd( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int2____cg_int2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2;
        }
//        parentValidationData->int2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int2____cg_int2__ValidationData* validationData = (int2____cg_int2__ValidationData*)mValidationDataStack.newObject(sizeof(int2____cg_int2__ValidationData));
        memset(validationData, 0, sizeof(int2____cg_int2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int2____cg_int2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3__stream( const sint32* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3__streamEnd( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int3____cg_int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3;
        }
//        parentValidationData->int3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3____cg_int3__ValidationData* validationData = (int3____cg_int3__ValidationData*)mValidationDataStack.newObject(sizeof(int3____cg_int3__ValidationData));
        memset(validationData, 0, sizeof(int3____cg_int3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int3____cg_int3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4__stream( const sint32* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4__streamEnd( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int4____cg_int4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4;
        }
//        parentValidationData->int4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int4____cg_int4__ValidationData* validationData = (int4____cg_int4__ValidationData*)mValidationDataStack.newObject(sizeof(int4____cg_int4__ValidationData));
        memset(validationData, 0, sizeof(int4____cg_int4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int4____cg_int4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x1( const sint32* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x1__stream( const sint32* value, size_t length )
{

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x1__streamEnd( const sint32* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X1;
        }
//        parentValidationData->int1x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X1;
        }
//        parentValidationData->int1x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X1;
        }
//        parentValidationData->int1x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X1;
        }
//        parentValidationData->int1x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X1;
        }
//        parentValidationData->int1x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X1;
        }
//        parentValidationData->int1x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X1;
        }
//        parentValidationData->int1x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int1x1__ValidationData* validationData = (int1x1__ValidationData*)mValidationDataStack.newObject(sizeof(int1x1__ValidationData));
        memset(validationData, 0, sizeof(int1x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int1x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x2( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x2__stream( const sint32* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x2__streamEnd( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X2;
        }
//        parentValidationData->int1x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X2;
        }
//        parentValidationData->int1x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X2;
        }
//        parentValidationData->int1x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X2;
        }
//        parentValidationData->int1x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X2;
        }
//        parentValidationData->int1x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X2;
        }
//        parentValidationData->int1x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X2;
        }
//        parentValidationData->int1x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int1x2__ValidationData* validationData = (int1x2__ValidationData*)mValidationDataStack.newObject(sizeof(int1x2__ValidationData));
        memset(validationData, 0, sizeof(int1x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int1x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x3( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x3__stream( const sint32* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x3__streamEnd( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X3;
        }
//        parentValidationData->int1x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X3;
        }
//        parentValidationData->int1x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X3;
        }
//        parentValidationData->int1x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X3;
        }
//        parentValidationData->int1x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X3;
        }
//        parentValidationData->int1x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X3;
        }
//        parentValidationData->int1x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X3;
        }
//        parentValidationData->int1x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int1x3__ValidationData* validationData = (int1x3__ValidationData*)mValidationDataStack.newObject(sizeof(int1x3__ValidationData));
        memset(validationData, 0, sizeof(int1x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int1x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x4( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x4__stream( const sint32* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int1x4__streamEnd( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X4;
        }
//        parentValidationData->int1x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X4;
        }
//        parentValidationData->int1x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X4;
        }
//        parentValidationData->int1x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X4;
        }
//        parentValidationData->int1x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X4;
        }
//        parentValidationData->int1x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X4;
        }
//        parentValidationData->int1x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT1X4;
        }
//        parentValidationData->int1x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int1x4__ValidationData* validationData = (int1x4__ValidationData*)mValidationDataStack.newObject(sizeof(int1x4__ValidationData));
        memset(validationData, 0, sizeof(int1x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int1x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x1( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x1__stream( const sint32* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x1__streamEnd( const sint32* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X1;
        }
//        parentValidationData->int2x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X1;
        }
//        parentValidationData->int2x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X1;
        }
//        parentValidationData->int2x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X1;
        }
//        parentValidationData->int2x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X1;
        }
//        parentValidationData->int2x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X1;
        }
//        parentValidationData->int2x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X1;
        }
//        parentValidationData->int2x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int2x1__ValidationData* validationData = (int2x1__ValidationData*)mValidationDataStack.newObject(sizeof(int2x1__ValidationData));
        memset(validationData, 0, sizeof(int2x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int2x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x2( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x2__stream( const sint32* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x2__streamEnd( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X2;
        }
//        parentValidationData->int2x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X2;
        }
//        parentValidationData->int2x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X2;
        }
//        parentValidationData->int2x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X2;
        }
//        parentValidationData->int2x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X2;
        }
//        parentValidationData->int2x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X2;
        }
//        parentValidationData->int2x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X2;
        }
//        parentValidationData->int2x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int2x2__ValidationData* validationData = (int2x2__ValidationData*)mValidationDataStack.newObject(sizeof(int2x2__ValidationData));
        memset(validationData, 0, sizeof(int2x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int2x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x3( const sint32* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x3__stream( const sint32* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x3__streamEnd( const sint32* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X3;
        }
//        parentValidationData->int2x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X3;
        }
//        parentValidationData->int2x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X3;
        }
//        parentValidationData->int2x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X3;
        }
//        parentValidationData->int2x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X3;
        }
//        parentValidationData->int2x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X3;
        }
//        parentValidationData->int2x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X3;
        }
//        parentValidationData->int2x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int2x3__ValidationData* validationData = (int2x3__ValidationData*)mValidationDataStack.newObject(sizeof(int2x3__ValidationData));
        memset(validationData, 0, sizeof(int2x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int2x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x4( const sint32* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x4__stream( const sint32* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int2x4__streamEnd( const sint32* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X4;
        }
//        parentValidationData->int2x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X4;
        }
//        parentValidationData->int2x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X4;
        }
//        parentValidationData->int2x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X4;
        }
//        parentValidationData->int2x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X4;
        }
//        parentValidationData->int2x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X4;
        }
//        parentValidationData->int2x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT2X4;
        }
//        parentValidationData->int2x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int2x4__ValidationData* validationData = (int2x4__ValidationData*)mValidationDataStack.newObject(sizeof(int2x4__ValidationData));
        memset(validationData, 0, sizeof(int2x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int2x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x1( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x1__stream( const sint32* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x1__streamEnd( const sint32* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X1;
        }
//        parentValidationData->int3x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X1;
        }
//        parentValidationData->int3x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X1;
        }
//        parentValidationData->int3x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X1;
        }
//        parentValidationData->int3x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X1;
        }
//        parentValidationData->int3x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X1;
        }
//        parentValidationData->int3x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X1;
        }
//        parentValidationData->int3x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3x1__ValidationData* validationData = (int3x1__ValidationData*)mValidationDataStack.newObject(sizeof(int3x1__ValidationData));
        memset(validationData, 0, sizeof(int3x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int3x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x2( const sint32* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x2__stream( const sint32* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x2__streamEnd( const sint32* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X2;
        }
//        parentValidationData->int3x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X2;
        }
//        parentValidationData->int3x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X2;
        }
//        parentValidationData->int3x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X2;
        }
//        parentValidationData->int3x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X2;
        }
//        parentValidationData->int3x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X2;
        }
//        parentValidationData->int3x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X2;
        }
//        parentValidationData->int3x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3x2__ValidationData* validationData = (int3x2__ValidationData*)mValidationDataStack.newObject(sizeof(int3x2__ValidationData));
        memset(validationData, 0, sizeof(int3x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int3x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x3( const sint32* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x3__stream( const sint32* value, size_t length )
{

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x3__streamEnd( const sint32* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X3;
        }
//        parentValidationData->int3x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X3;
        }
//        parentValidationData->int3x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X3;
        }
//        parentValidationData->int3x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X3;
        }
//        parentValidationData->int3x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X3;
        }
//        parentValidationData->int3x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X3;
        }
//        parentValidationData->int3x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X3;
        }
//        parentValidationData->int3x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3x3__ValidationData* validationData = (int3x3__ValidationData*)mValidationDataStack.newObject(sizeof(int3x3__ValidationData));
        memset(validationData, 0, sizeof(int3x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int3x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x4( const sint32* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x4__stream( const sint32* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int3x4__streamEnd( const sint32* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X4;
        }
//        parentValidationData->int3x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X4;
        }
//        parentValidationData->int3x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X4;
        }
//        parentValidationData->int3x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X4;
        }
//        parentValidationData->int3x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X4;
        }
//        parentValidationData->int3x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X4;
        }
//        parentValidationData->int3x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT3X4;
        }
//        parentValidationData->int3x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int3x4__ValidationData* validationData = (int3x4__ValidationData*)mValidationDataStack.newObject(sizeof(int3x4__ValidationData));
        memset(validationData, 0, sizeof(int3x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int3x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x1( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x1__stream( const sint32* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x1__streamEnd( const sint32* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X1;
        }
//        parentValidationData->int4x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X1;
        }
//        parentValidationData->int4x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X1;
        }
//        parentValidationData->int4x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X1;
        }
//        parentValidationData->int4x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X1;
        }
//        parentValidationData->int4x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X1;
        }
//        parentValidationData->int4x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X1;
        }
//        parentValidationData->int4x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int4x1__ValidationData* validationData = (int4x1__ValidationData*)mValidationDataStack.newObject(sizeof(int4x1__ValidationData));
        memset(validationData, 0, sizeof(int4x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int4x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x2( const sint32* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x2__stream( const sint32* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x2__streamEnd( const sint32* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X2;
        }
//        parentValidationData->int4x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X2;
        }
//        parentValidationData->int4x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X2;
        }
//        parentValidationData->int4x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X2;
        }
//        parentValidationData->int4x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X2;
        }
//        parentValidationData->int4x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X2;
        }
//        parentValidationData->int4x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X2;
        }
//        parentValidationData->int4x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int4x2__ValidationData* validationData = (int4x2__ValidationData*)mValidationDataStack.newObject(sizeof(int4x2__ValidationData));
        memset(validationData, 0, sizeof(int4x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int4x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x3( const sint32* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x3__stream( const sint32* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x3__streamEnd( const sint32* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X3;
        }
//        parentValidationData->int4x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X3;
        }
//        parentValidationData->int4x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X3;
        }
//        parentValidationData->int4x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X3;
        }
//        parentValidationData->int4x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X3;
        }
//        parentValidationData->int4x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X3;
        }
//        parentValidationData->int4x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X3;
        }
//        parentValidationData->int4x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int4x3__ValidationData* validationData = (int4x3__ValidationData*)mValidationDataStack.newObject(sizeof(int4x3__ValidationData));
        memset(validationData, 0, sizeof(int4x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int4x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x4( const sint32* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x4__stream( const sint32* value, size_t length )
{

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_int4x4__streamEnd( const sint32* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__int4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X4;
        }
//        parentValidationData->int4x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X4;
        }
//        parentValidationData->int4x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X4;
        }
//        parentValidationData->int4x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X4;
        }
//        parentValidationData->int4x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X4;
        }
//        parentValidationData->int4x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X4;
        }
//        parentValidationData->int4x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_INT4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_INT4X4;
        }
//        parentValidationData->int4x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        int4x4__ValidationData* validationData = (int4x4__ValidationData*)mValidationDataStack.newObject(sizeof(int4x4__ValidationData));
        memset(validationData, 0, sizeof(int4x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__int4x4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF;
        }
//        parentValidationData->half++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF;
        }
//        parentValidationData->half++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF;
        }
//        parentValidationData->half++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF;
        }
//        parentValidationData->half++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF;
        }
//        parentValidationData->half++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF;
        }
//        parentValidationData->half++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF;
        }
//        parentValidationData->half++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1;
        }
//        parentValidationData->half1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1;
        }
//        parentValidationData->half1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1;
        }
//        parentValidationData->half1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1;
        }
//        parentValidationData->half1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1;
        }
//        parentValidationData->half1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1;
        }
//        parentValidationData->half1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1;
        }
//        parentValidationData->half1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2;
        }
//        parentValidationData->half2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2;
        }
//        parentValidationData->half2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2;
        }
//        parentValidationData->half2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2;
        }
//        parentValidationData->half2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2;
        }
//        parentValidationData->half2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2;
        }
//        parentValidationData->half2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2;
        }
//        parentValidationData->half2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half2__ValidationData* validationData = (half2__ValidationData*)mValidationDataStack.newObject(sizeof(half2__ValidationData));
        memset(validationData, 0, sizeof(half2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3;
        }
//        parentValidationData->half3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3;
        }
//        parentValidationData->half3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3;
        }
//        parentValidationData->half3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3;
        }
//        parentValidationData->half3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3;
        }
//        parentValidationData->half3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3;
        }
//        parentValidationData->half3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3;
        }
//        parentValidationData->half3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half3__ValidationData* validationData = (half3__ValidationData*)mValidationDataStack.newObject(sizeof(half3__ValidationData));
        memset(validationData, 0, sizeof(half3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4;
        }
//        parentValidationData->half4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4;
        }
//        parentValidationData->half4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4;
        }
//        parentValidationData->half4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4;
        }
//        parentValidationData->half4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4;
        }
//        parentValidationData->half4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4;
        }
//        parentValidationData->half4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4;
        }
//        parentValidationData->half4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half4__ValidationData* validationData = (half4__ValidationData*)mValidationDataStack.newObject(sizeof(half4__ValidationData));
        memset(validationData, 0, sizeof(half4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x1( const float* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x1__stream( const float* value, size_t length )
{

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x1__streamEnd( const float* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X1;
        }
//        parentValidationData->half1x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X1;
        }
//        parentValidationData->half1x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X1;
        }
//        parentValidationData->half1x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X1;
        }
//        parentValidationData->half1x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X1;
        }
//        parentValidationData->half1x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X1;
        }
//        parentValidationData->half1x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X1;
        }
//        parentValidationData->half1x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half1x1__ValidationData* validationData = (half1x1__ValidationData*)mValidationDataStack.newObject(sizeof(half1x1__ValidationData));
        memset(validationData, 0, sizeof(half1x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half1x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X2;
        }
//        parentValidationData->half1x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X2;
        }
//        parentValidationData->half1x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X2;
        }
//        parentValidationData->half1x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X2;
        }
//        parentValidationData->half1x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X2;
        }
//        parentValidationData->half1x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X2;
        }
//        parentValidationData->half1x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X2;
        }
//        parentValidationData->half1x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half1x2__ValidationData* validationData = (half1x2__ValidationData*)mValidationDataStack.newObject(sizeof(half1x2__ValidationData));
        memset(validationData, 0, sizeof(half1x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half1x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X3;
        }
//        parentValidationData->half1x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X3;
        }
//        parentValidationData->half1x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X3;
        }
//        parentValidationData->half1x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X3;
        }
//        parentValidationData->half1x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X3;
        }
//        parentValidationData->half1x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X3;
        }
//        parentValidationData->half1x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X3;
        }
//        parentValidationData->half1x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half1x3__ValidationData* validationData = (half1x3__ValidationData*)mValidationDataStack.newObject(sizeof(half1x3__ValidationData));
        memset(validationData, 0, sizeof(half1x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half1x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half1x4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X4;
        }
//        parentValidationData->half1x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X4;
        }
//        parentValidationData->half1x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X4;
        }
//        parentValidationData->half1x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X4;
        }
//        parentValidationData->half1x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X4;
        }
//        parentValidationData->half1x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X4;
        }
//        parentValidationData->half1x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF1X4;
        }
//        parentValidationData->half1x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half1x4__ValidationData* validationData = (half1x4__ValidationData*)mValidationDataStack.newObject(sizeof(half1x4__ValidationData));
        memset(validationData, 0, sizeof(half1x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half1x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x1( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x1__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x1__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X1;
        }
//        parentValidationData->half2x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X1;
        }
//        parentValidationData->half2x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X1;
        }
//        parentValidationData->half2x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X1;
        }
//        parentValidationData->half2x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X1;
        }
//        parentValidationData->half2x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X1;
        }
//        parentValidationData->half2x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X1;
        }
//        parentValidationData->half2x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half2x1__ValidationData* validationData = (half2x1__ValidationData*)mValidationDataStack.newObject(sizeof(half2x1__ValidationData));
        memset(validationData, 0, sizeof(half2x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half2x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x2( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x2__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x2__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X2;
        }
//        parentValidationData->half2x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X2;
        }
//        parentValidationData->half2x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X2;
        }
//        parentValidationData->half2x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X2;
        }
//        parentValidationData->half2x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X2;
        }
//        parentValidationData->half2x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X2;
        }
//        parentValidationData->half2x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X2;
        }
//        parentValidationData->half2x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half2x2__ValidationData* validationData = (half2x2__ValidationData*)mValidationDataStack.newObject(sizeof(half2x2__ValidationData));
        memset(validationData, 0, sizeof(half2x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half2x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x3( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x3__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x3__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X3;
        }
//        parentValidationData->half2x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X3;
        }
//        parentValidationData->half2x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X3;
        }
//        parentValidationData->half2x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X3;
        }
//        parentValidationData->half2x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X3;
        }
//        parentValidationData->half2x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X3;
        }
//        parentValidationData->half2x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X3;
        }
//        parentValidationData->half2x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half2x3__ValidationData* validationData = (half2x3__ValidationData*)mValidationDataStack.newObject(sizeof(half2x3__ValidationData));
        memset(validationData, 0, sizeof(half2x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half2x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x4( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x4__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half2x4__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X4;
        }
//        parentValidationData->half2x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X4;
        }
//        parentValidationData->half2x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X4;
        }
//        parentValidationData->half2x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X4;
        }
//        parentValidationData->half2x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X4;
        }
//        parentValidationData->half2x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X4;
        }
//        parentValidationData->half2x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF2X4;
        }
//        parentValidationData->half2x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half2x4__ValidationData* validationData = (half2x4__ValidationData*)mValidationDataStack.newObject(sizeof(half2x4__ValidationData));
        memset(validationData, 0, sizeof(half2x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half2x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x1( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x1__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x1__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X1;
        }
//        parentValidationData->half3x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X1;
        }
//        parentValidationData->half3x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X1;
        }
//        parentValidationData->half3x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X1;
        }
//        parentValidationData->half3x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X1;
        }
//        parentValidationData->half3x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X1;
        }
//        parentValidationData->half3x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X1;
        }
//        parentValidationData->half3x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half3x1__ValidationData* validationData = (half3x1__ValidationData*)mValidationDataStack.newObject(sizeof(half3x1__ValidationData));
        memset(validationData, 0, sizeof(half3x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half3x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x2( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x2__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x2__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X2;
        }
//        parentValidationData->half3x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X2;
        }
//        parentValidationData->half3x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X2;
        }
//        parentValidationData->half3x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X2;
        }
//        parentValidationData->half3x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X2;
        }
//        parentValidationData->half3x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X2;
        }
//        parentValidationData->half3x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X2;
        }
//        parentValidationData->half3x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half3x2__ValidationData* validationData = (half3x2__ValidationData*)mValidationDataStack.newObject(sizeof(half3x2__ValidationData));
        memset(validationData, 0, sizeof(half3x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half3x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x3( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x3__stream( const float* value, size_t length )
{

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x3__streamEnd( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X3;
        }
//        parentValidationData->half3x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X3;
        }
//        parentValidationData->half3x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X3;
        }
//        parentValidationData->half3x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X3;
        }
//        parentValidationData->half3x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X3;
        }
//        parentValidationData->half3x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X3;
        }
//        parentValidationData->half3x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X3;
        }
//        parentValidationData->half3x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half3x3__ValidationData* validationData = (half3x3__ValidationData*)mValidationDataStack.newObject(sizeof(half3x3__ValidationData));
        memset(validationData, 0, sizeof(half3x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half3x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x4( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x4__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half3x4__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X4;
        }
//        parentValidationData->half3x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X4;
        }
//        parentValidationData->half3x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X4;
        }
//        parentValidationData->half3x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X4;
        }
//        parentValidationData->half3x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X4;
        }
//        parentValidationData->half3x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X4;
        }
//        parentValidationData->half3x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF3X4;
        }
//        parentValidationData->half3x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half3x4__ValidationData* validationData = (half3x4__ValidationData*)mValidationDataStack.newObject(sizeof(half3x4__ValidationData));
        memset(validationData, 0, sizeof(half3x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half3x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x1( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x1__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x1__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X1;
        }
//        parentValidationData->half4x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X1;
        }
//        parentValidationData->half4x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X1;
        }
//        parentValidationData->half4x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X1;
        }
//        parentValidationData->half4x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X1;
        }
//        parentValidationData->half4x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X1;
        }
//        parentValidationData->half4x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X1;
        }
//        parentValidationData->half4x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half4x1__ValidationData* validationData = (half4x1__ValidationData*)mValidationDataStack.newObject(sizeof(half4x1__ValidationData));
        memset(validationData, 0, sizeof(half4x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half4x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x2( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x2__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x2__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X2;
        }
//        parentValidationData->half4x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X2;
        }
//        parentValidationData->half4x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X2;
        }
//        parentValidationData->half4x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X2;
        }
//        parentValidationData->half4x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X2;
        }
//        parentValidationData->half4x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X2;
        }
//        parentValidationData->half4x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X2;
        }
//        parentValidationData->half4x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half4x2__ValidationData* validationData = (half4x2__ValidationData*)mValidationDataStack.newObject(sizeof(half4x2__ValidationData));
        memset(validationData, 0, sizeof(half4x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half4x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x3( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x3__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x3__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X3;
        }
//        parentValidationData->half4x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X3;
        }
//        parentValidationData->half4x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X3;
        }
//        parentValidationData->half4x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X3;
        }
//        parentValidationData->half4x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X3;
        }
//        parentValidationData->half4x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X3;
        }
//        parentValidationData->half4x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X3;
        }
//        parentValidationData->half4x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half4x3__ValidationData* validationData = (half4x3__ValidationData*)mValidationDataStack.newObject(sizeof(half4x3__ValidationData));
        memset(validationData, 0, sizeof(half4x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half4x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x4( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x4__stream( const float* value, size_t length )
{

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_half4x4__streamEnd( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__half4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X4;
        }
//        parentValidationData->_half4x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X4;
        }
//        parentValidationData->_half4x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X4;
        }
//        parentValidationData->_half4x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X4;
        }
//        parentValidationData->_half4x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X4;
        }
//        parentValidationData->_half4x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X4;
        }
//        parentValidationData->_half4x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_HALF4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_HALF4X4;
        }
//        parentValidationData->_half4x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        half4x4__ValidationData* validationData = (half4x4__ValidationData*)mValidationDataStack.newObject(sizeof(half4x4__ValidationData));
        memset(validationData, 0, sizeof(half4x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__half4x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed( const float value )
{
    if( value > 2.0E0 )
        return ParserError::ERROR_VALIDATION_MAX_INCLUSIVE;

    if( value < -2.0E0 )
        return ParserError::ERROR_VALIDATION_MIN_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED;
        }
//        parentValidationData->fixed++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED;
        }
//        parentValidationData->fixed++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED;
        }
//        parentValidationData->fixed++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED;
        }
//        parentValidationData->fixed++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED;
        }
//        parentValidationData->fixed++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED;
        }
//        parentValidationData->fixed++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED;
        }
//        parentValidationData->fixed++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1( const float value )
{
    if( value > 2.0E0 )
        return ParserError::ERROR_VALIDATION_MAX_INCLUSIVE;

    if( value < -2.0E0 )
        return ParserError::ERROR_VALIDATION_MIN_INCLUSIVE;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1;
        }
//        parentValidationData->_fixed1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1;
        }
//        parentValidationData->_fixed1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1;
        }
//        parentValidationData->_fixed1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1;
        }
//        parentValidationData->_fixed1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1;
        }
//        parentValidationData->_fixed1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1;
        }
//        parentValidationData->_fixed1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1;
        }
//        parentValidationData->_fixed1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2;
        }
//        parentValidationData->fixed2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2;
        }
//        parentValidationData->fixed2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2;
        }
//        parentValidationData->fixed2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2;
        }
//        parentValidationData->fixed2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2;
        }
//        parentValidationData->fixed2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2;
        }
//        parentValidationData->fixed2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2;
        }
//        parentValidationData->fixed2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed2__ValidationData* validationData = (fixed2__ValidationData*)mValidationDataStack.newObject(sizeof(fixed2__ValidationData));
        memset(validationData, 0, sizeof(fixed2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3;
        }
//        parentValidationData->fixed3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3;
        }
//        parentValidationData->fixed3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3;
        }
//        parentValidationData->fixed3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3;
        }
//        parentValidationData->fixed3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3;
        }
//        parentValidationData->fixed3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3;
        }
//        parentValidationData->fixed3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3;
        }
//        parentValidationData->fixed3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed3__ValidationData* validationData = (fixed3__ValidationData*)mValidationDataStack.newObject(sizeof(fixed3__ValidationData));
        memset(validationData, 0, sizeof(fixed3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4;
        }
//        parentValidationData->fixed4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4;
        }
//        parentValidationData->fixed4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4;
        }
//        parentValidationData->fixed4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4;
        }
//        parentValidationData->fixed4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4;
        }
//        parentValidationData->fixed4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4;
        }
//        parentValidationData->fixed4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4;
        }
//        parentValidationData->fixed4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed4__ValidationData* validationData = (fixed4__ValidationData*)mValidationDataStack.newObject(sizeof(fixed4__ValidationData));
        memset(validationData, 0, sizeof(fixed4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x1( const float* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x1__stream( const float* value, size_t length )
{

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x1__streamEnd( const float* value, size_t length )
{
    if( length < 1 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 1 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X1;
        }
//        parentValidationData->fixed1x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X1;
        }
//        parentValidationData->fixed1x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X1;
        }
//        parentValidationData->fixed1x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X1;
        }
//        parentValidationData->fixed1x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X1;
        }
//        parentValidationData->fixed1x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X1;
        }
//        parentValidationData->fixed1x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X1;
        }
//        parentValidationData->fixed1x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed1x1__ValidationData* validationData = (fixed1x1__ValidationData*)mValidationDataStack.newObject(sizeof(fixed1x1__ValidationData));
        memset(validationData, 0, sizeof(fixed1x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed1x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x2( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x2__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x2__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X2;
        }
//        parentValidationData->fixed1x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X2;
        }
//        parentValidationData->fixed1x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X2;
        }
//        parentValidationData->fixed1x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X2;
        }
//        parentValidationData->fixed1x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X2;
        }
//        parentValidationData->fixed1x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X2;
        }
//        parentValidationData->fixed1x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X2;
        }
//        parentValidationData->fixed1x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed1x2__ValidationData* validationData = (fixed1x2__ValidationData*)mValidationDataStack.newObject(sizeof(fixed1x2__ValidationData));
        memset(validationData, 0, sizeof(fixed1x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed1x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x3( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x3__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x3__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X3;
        }
//        parentValidationData->fixed1x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X3;
        }
//        parentValidationData->fixed1x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X3;
        }
//        parentValidationData->fixed1x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X3;
        }
//        parentValidationData->fixed1x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X3;
        }
//        parentValidationData->fixed1x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X3;
        }
//        parentValidationData->fixed1x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X3;
        }
//        parentValidationData->fixed1x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed1x3__ValidationData* validationData = (fixed1x3__ValidationData*)mValidationDataStack.newObject(sizeof(fixed1x3__ValidationData));
        memset(validationData, 0, sizeof(fixed1x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed1x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x4( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x4__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed1x4__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X4;
        }
//        parentValidationData->fixed1x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X4;
        }
//        parentValidationData->fixed1x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X4;
        }
//        parentValidationData->fixed1x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X4;
        }
//        parentValidationData->fixed1x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X4;
        }
//        parentValidationData->fixed1x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X4;
        }
//        parentValidationData->fixed1x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED1X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED1X4;
        }
//        parentValidationData->fixed1x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed1x4__ValidationData* validationData = (fixed1x4__ValidationData*)mValidationDataStack.newObject(sizeof(fixed1x4__ValidationData));
        memset(validationData, 0, sizeof(fixed1x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed1x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x1( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x1__stream( const float* value, size_t length )
{

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x1__streamEnd( const float* value, size_t length )
{
    if( length < 2 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 2 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X1;
        }
//        parentValidationData->fixed2x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X1;
        }
//        parentValidationData->fixed2x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X1;
        }
//        parentValidationData->fixed2x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X1;
        }
//        parentValidationData->fixed2x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X1;
        }
//        parentValidationData->fixed2x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X1;
        }
//        parentValidationData->fixed2x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X1;
        }
//        parentValidationData->fixed2x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed2x1__ValidationData* validationData = (fixed2x1__ValidationData*)mValidationDataStack.newObject(sizeof(fixed2x1__ValidationData));
        memset(validationData, 0, sizeof(fixed2x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed2x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x2( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x2__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x2__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X2;
        }
//        parentValidationData->fixed2x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X2;
        }
//        parentValidationData->fixed2x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X2;
        }
//        parentValidationData->fixed2x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X2;
        }
//        parentValidationData->fixed2x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X2;
        }
//        parentValidationData->fixed2x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X2;
        }
//        parentValidationData->fixed2x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X2;
        }
//        parentValidationData->fixed2x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed2x2__ValidationData* validationData = (fixed2x2__ValidationData*)mValidationDataStack.newObject(sizeof(fixed2x2__ValidationData));
        memset(validationData, 0, sizeof(fixed2x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed2x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x3( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x3__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x3__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X3;
        }
//        parentValidationData->fixed2x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X3;
        }
//        parentValidationData->fixed2x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X3;
        }
//        parentValidationData->fixed2x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X3;
        }
//        parentValidationData->fixed2x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X3;
        }
//        parentValidationData->fixed2x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X3;
        }
//        parentValidationData->fixed2x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X3;
        }
//        parentValidationData->fixed2x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed2x3__ValidationData* validationData = (fixed2x3__ValidationData*)mValidationDataStack.newObject(sizeof(fixed2x3__ValidationData));
        memset(validationData, 0, sizeof(fixed2x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed2x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x4( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x4__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed2x4__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X4;
        }
//        parentValidationData->fixed2x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X4;
        }
//        parentValidationData->fixed2x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X4;
        }
//        parentValidationData->fixed2x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X4;
        }
//        parentValidationData->fixed2x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X4;
        }
//        parentValidationData->fixed2x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X4;
        }
//        parentValidationData->fixed2x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED2X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED2X4;
        }
//        parentValidationData->fixed2x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed2x4__ValidationData* validationData = (fixed2x4__ValidationData*)mValidationDataStack.newObject(sizeof(fixed2x4__ValidationData));
        memset(validationData, 0, sizeof(fixed2x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed2x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x1( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x1__stream( const float* value, size_t length )
{

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x1__streamEnd( const float* value, size_t length )
{
    if( length < 3 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 3 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X1;
        }
//        parentValidationData->fixed3x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X1;
        }
//        parentValidationData->fixed3x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X1;
        }
//        parentValidationData->fixed3x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X1;
        }
//        parentValidationData->fixed3x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X1;
        }
//        parentValidationData->fixed3x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X1;
        }
//        parentValidationData->fixed3x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X1;
        }
//        parentValidationData->fixed3x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed3x1__ValidationData* validationData = (fixed3x1__ValidationData*)mValidationDataStack.newObject(sizeof(fixed3x1__ValidationData));
        memset(validationData, 0, sizeof(fixed3x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed3x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x2( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x2__stream( const float* value, size_t length )
{

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x2__streamEnd( const float* value, size_t length )
{
    if( length < 6 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 6 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X2;
        }
//        parentValidationData->fixed3x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X2;
        }
//        parentValidationData->fixed3x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X2;
        }
//        parentValidationData->fixed3x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X2;
        }
//        parentValidationData->fixed3x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X2;
        }
//        parentValidationData->fixed3x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X2;
        }
//        parentValidationData->fixed3x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X2;
        }
//        parentValidationData->fixed3x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed3x2__ValidationData* validationData = (fixed3x2__ValidationData*)mValidationDataStack.newObject(sizeof(fixed3x2__ValidationData));
        memset(validationData, 0, sizeof(fixed3x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed3x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x3( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x3__stream( const float* value, size_t length )
{

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x3__streamEnd( const float* value, size_t length )
{
    if( length < 9 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 9 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X3;
        }
//        parentValidationData->fixed3x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X3;
        }
//        parentValidationData->fixed3x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X3;
        }
//        parentValidationData->fixed3x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X3;
        }
//        parentValidationData->fixed3x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X3;
        }
//        parentValidationData->fixed3x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X3;
        }
//        parentValidationData->fixed3x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X3;
        }
//        parentValidationData->fixed3x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed3x3__ValidationData* validationData = (fixed3x3__ValidationData*)mValidationDataStack.newObject(sizeof(fixed3x3__ValidationData));
        memset(validationData, 0, sizeof(fixed3x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed3x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x4( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x4__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed3x4__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X4;
        }
//        parentValidationData->fixed3x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X4;
        }
//        parentValidationData->fixed3x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X4;
        }
//        parentValidationData->fixed3x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X4;
        }
//        parentValidationData->fixed3x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X4;
        }
//        parentValidationData->fixed3x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X4;
        }
//        parentValidationData->fixed3x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED3X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED3X4;
        }
//        parentValidationData->fixed3x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed3x4__ValidationData* validationData = (fixed3x4__ValidationData*)mValidationDataStack.newObject(sizeof(fixed3x4__ValidationData));
        memset(validationData, 0, sizeof(fixed3x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed3x4()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x1( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x1__stream( const float* value, size_t length )
{

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x1__streamEnd( const float* value, size_t length )
{
    if( length < 4 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 4 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X1;
        }
//        parentValidationData->fixed4x1++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X1;
        }
//        parentValidationData->fixed4x1++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X1;
        }
//        parentValidationData->fixed4x1++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X1;
        }
//        parentValidationData->fixed4x1++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X1;
        }
//        parentValidationData->fixed4x1++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X1;
        }
//        parentValidationData->fixed4x1++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X1, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X1;
        }
//        parentValidationData->fixed4x1++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed4x1__ValidationData* validationData = (fixed4x1__ValidationData*)mValidationDataStack.newObject(sizeof(fixed4x1__ValidationData));
        memset(validationData, 0, sizeof(fixed4x1__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed4x1()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x2( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x2__stream( const float* value, size_t length )
{

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x2__streamEnd( const float* value, size_t length )
{
    if( length < 8 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 8 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X2;
        }
//        parentValidationData->fixed4x2++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X2;
        }
//        parentValidationData->fixed4x2++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X2;
        }
//        parentValidationData->fixed4x2++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X2;
        }
//        parentValidationData->fixed4x2++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X2;
        }
//        parentValidationData->fixed4x2++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X2;
        }
//        parentValidationData->fixed4x2++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X2, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X2;
        }
//        parentValidationData->fixed4x2++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed4x2__ValidationData* validationData = (fixed4x2__ValidationData*)mValidationDataStack.newObject(sizeof(fixed4x2__ValidationData));
        memset(validationData, 0, sizeof(fixed4x2__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed4x2()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x3( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x3__stream( const float* value, size_t length )
{

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x3__streamEnd( const float* value, size_t length )
{
    if( length < 12 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 12 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X3;
        }
//        parentValidationData->fixed4x3++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X3;
        }
//        parentValidationData->fixed4x3++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X3;
        }
//        parentValidationData->fixed4x3++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X3;
        }
//        parentValidationData->fixed4x3++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X3;
        }
//        parentValidationData->fixed4x3++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X3;
        }
//        parentValidationData->fixed4x3++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X3, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X3;
        }
//        parentValidationData->fixed4x3++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed4x3__ValidationData* validationData = (fixed4x3__ValidationData*)mValidationDataStack.newObject(sizeof(fixed4x3__ValidationData));
        memset(validationData, 0, sizeof(fixed4x3__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed4x3()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x4( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x4__stream( const float* value, size_t length )
{

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_fixed4x4__streamEnd( const float* value, size_t length )
{
    if( length < 16 )
        return ParserError::ERROR_VALIDATION_MIN_LENGTH;

    if( length > 16 )
        return ParserError::ERROR_VALIDATION_MAX_LENGTH;

    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__fixed4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X4;
        }
//        parentValidationData->fixed4x4++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X4;
        }
//        parentValidationData->fixed4x4++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X4;
        }
//        parentValidationData->fixed4x4++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X4;
        }
//        parentValidationData->fixed4x4++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X4;
        }
//        parentValidationData->fixed4x4++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X4;
        }
//        parentValidationData->fixed4x4++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_FIXED4X4, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_FIXED4X4;
        }
//        parentValidationData->fixed4x4++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        fixed4x4__ValidationData* validationData = (fixed4x4__ValidationData*)mValidationDataStack.newObject(sizeof(fixed4x4__ValidationData));
        memset(validationData, 0, sizeof(fixed4x4__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__fixed4x4()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__surface____cg_surface_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SURFACE;
        }
//        parentValidationData->surface++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        surface____cg_surface_type__ValidationData* validationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.newObject(sizeof(surface____cg_surface_type__ValidationData));
        memset(validationData, 0, sizeof(surface____cg_surface_type__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__surface____cg_surface_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        surface____cg_surface_type__ValidationData* validationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_FORMAT) || (validationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (validationData->validation_current_state == HASH_ELEMENT_GENERATOR) || (validationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (validationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (validationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (validationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (validationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (validationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (validationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (validationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (validationData->validation_current_state == HASH_ELEMENT_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SURFACE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__cg_surface_type____generator( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        surface____cg_surface_type__ValidationData* parentValidationData = (surface____cg_surface_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_EXTRA) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FORMAT_HINT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_NULL) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_AS_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_CUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_FROM) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_PLANAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_INIT_VOLUME) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIPMAP_GENERATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MIP_LEVELS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_VIEWPORT_RATIO) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_GENERATOR, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_GENERATOR;
        }
//        parentValidationData->generator++;

        cg_surface_type____generator__ValidationData* validationData = (cg_surface_type____generator__ValidationData*)mValidationDataStack.newObject(sizeof(cg_surface_type____generator__ValidationData));
        memset(validationData, 0, sizeof(cg_surface_type____generator__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__cg_surface_type____generator()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        cg_surface_type____generator__ValidationData* validationData = (cg_surface_type____generator__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_NAME) || (validationData->validation_current_state == HASH_ELEMENT_SETPARAM) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_GENERATOR, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__newparam__surface__generator__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        cg_surface_type____generator__ValidationData* parentValidationData = (cg_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NAME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NAME;
        }
//        parentValidationData->name++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__newparam__surface__generator__name()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__setparam____cg_setparam_simple( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        cg_surface_type____generator__ValidationData* parentValidationData = (cg_surface_type____generator__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_NAME) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SETPARAM;
        }
//        parentValidationData->setparam++;

        setparam____cg_setparam_simple__ValidationData* validationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.newObject(sizeof(setparam____cg_setparam_simple__ValidationData));
        memset(validationData, 0, sizeof(setparam____cg_setparam_simple__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__setparam____cg_setparam_simple()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        setparam____cg_setparam_simple__ValidationData* validationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FIXED) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF) || (validationData->validation_current_state == HASH_ELEMENT_HALF1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X2) || (validationData->validation_current_state == HASH_ELEMENT_INT1X3) || (validationData->validation_current_state == HASH_ELEMENT_INT1X4) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X1) || (validationData->validation_current_state == HASH_ELEMENT_INT2X2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X3) || (validationData->validation_current_state == HASH_ELEMENT_INT2X4) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X1) || (validationData->validation_current_state == HASH_ELEMENT_INT3X2) || (validationData->validation_current_state == HASH_ELEMENT_INT3X3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X4) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_INT4X1) || (validationData->validation_current_state == HASH_ELEMENT_INT4X2) || (validationData->validation_current_state == HASH_ELEMENT_INT4X3) || (validationData->validation_current_state == HASH_ELEMENT_INT4X4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_STRING) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler1D____cg_sampler1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER1D;
        }
//        parentValidationData->sampler1D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler1D____cg_sampler1D__ValidationData* validationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler1D____cg_sampler1D__ValidationData));
        memset(validationData, 0, sizeof(sampler1D____cg_sampler1D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler1D____cg_sampler1D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler1D____cg_sampler1D__ValidationData* validationData = (sampler1D____cg_sampler1D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER1D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler2D____cg_sampler2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER2D;
        }
//        parentValidationData->sampler2D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler2D____cg_sampler2D__ValidationData* validationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler2D____cg_sampler2D__ValidationData));
        memset(validationData, 0, sizeof(sampler2D____cg_sampler2D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler2D____cg_sampler2D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler2D____cg_sampler2D__ValidationData* validationData = (sampler2D____cg_sampler2D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER2D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__sampler3D____cg_sampler3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLER3D;
        }
//        parentValidationData->sampler3D++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        sampler3D____cg_sampler3D__ValidationData* validationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.newObject(sizeof(sampler3D____cg_sampler3D__ValidationData));
        memset(validationData, 0, sizeof(sampler3D____cg_sampler3D__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__sampler3D____cg_sampler3D()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        sampler3D____cg_sampler3D__ValidationData* validationData = (sampler3D____cg_sampler3D__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLER3D, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerRECT____cg_samplerRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERRECT;
        }
//        parentValidationData->samplerRECT++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerRECT____cg_samplerRECT__ValidationData* validationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.newObject(sizeof(samplerRECT____cg_samplerRECT__ValidationData));
        memset(validationData, 0, sizeof(samplerRECT____cg_samplerRECT__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerRECT____cg_samplerRECT()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerRECT____cg_samplerRECT__ValidationData* validationData = (samplerRECT____cg_samplerRECT__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERRECT, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerCUBE____cg_samplerCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERCUBE;
        }
//        parentValidationData->samplerCUBE++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerCUBE____cg_samplerCUBE__ValidationData* validationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.newObject(sizeof(samplerCUBE____cg_samplerCUBE__ValidationData));
        memset(validationData, 0, sizeof(samplerCUBE____cg_samplerCUBE__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerCUBE____cg_samplerCUBE()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerCUBE____cg_samplerCUBE__ValidationData* validationData = (samplerCUBE____cg_samplerCUBE__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERCUBE, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__samplerDEPTH____cg_samplerDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 143:
        {
        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 472:
        {
        setparam____cg_setparam_simple__ValidationData* parentValidationData = (setparam____cg_setparam_simple__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SAMPLERDEPTH;
        }
//        parentValidationData->samplerDEPTH++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        samplerDEPTH____cg_samplerDEPTH__ValidationData* validationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.newObject(sizeof(samplerDEPTH____cg_samplerDEPTH__ValidationData));
        memset(validationData, 0, sizeof(samplerDEPTH____cg_samplerDEPTH__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__samplerDEPTH____cg_samplerDEPTH()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        samplerDEPTH____cg_samplerDEPTH__ValidationData* validationData = (samplerDEPTH____cg_samplerDEPTH__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->source < 1 ) // children minOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SAMPLERDEPTH, (const ParserChar*)0, "child: source" ) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__usertype( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_USERTYPE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_USERTYPE;
        }
//        parentValidationData->usertype++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_USERTYPE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_USERTYPE;
        }
//        parentValidationData->usertype++;

        break;
        }

        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_USERTYPE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_USERTYPE;
        }
//        parentValidationData->usertype++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_USERTYPE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_USERTYPE;
        }
//        parentValidationData->usertype++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_USERTYPE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_USERTYPE;
        }
//        parentValidationData->usertype++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        usertype__ValidationData* validationData = (usertype__ValidationData*)mValidationDataStack.newObject(sizeof(usertype__ValidationData));
        memset(validationData, 0, sizeof(usertype__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__usertype()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        usertype__ValidationData* validationData = (usertype__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (validationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FIXED) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF) || (validationData->validation_current_state == HASH_ELEMENT_HALF1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X2) || (validationData->validation_current_state == HASH_ELEMENT_INT1X3) || (validationData->validation_current_state == HASH_ELEMENT_INT1X4) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X1) || (validationData->validation_current_state == HASH_ELEMENT_INT2X2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X3) || (validationData->validation_current_state == HASH_ELEMENT_INT2X4) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X1) || (validationData->validation_current_state == HASH_ELEMENT_INT3X2) || (validationData->validation_current_state == HASH_ELEMENT_INT3X3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X4) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_INT4X1) || (validationData->validation_current_state == HASH_ELEMENT_INT4X2) || (validationData->validation_current_state == HASH_ELEMENT_INT4X3) || (validationData->validation_current_state == HASH_ELEMENT_INT4X4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (validationData->validation_current_state == HASH_ELEMENT_STRING) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_USERTYPE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__array____cg_setarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 40:
        {
        array____cg_setarray_type__ValidationData* parentValidationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        array____cg_setarray_type__ValidationData* validationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.newObject(sizeof(array____cg_setarray_type__ValidationData));
        memset(validationData, 0, sizeof(array____cg_setarray_type__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__array____cg_setarray_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        array____cg_setarray_type__ValidationData* validationData = (array____cg_setarray_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FIXED) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF) || (validationData->validation_current_state == HASH_ELEMENT_HALF1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X2) || (validationData->validation_current_state == HASH_ELEMENT_INT1X3) || (validationData->validation_current_state == HASH_ELEMENT_INT1X4) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X1) || (validationData->validation_current_state == HASH_ELEMENT_INT2X2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X3) || (validationData->validation_current_state == HASH_ELEMENT_INT2X4) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X1) || (validationData->validation_current_state == HASH_ELEMENT_INT3X2) || (validationData->validation_current_state == HASH_ELEMENT_INT3X3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X4) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_INT4X1) || (validationData->validation_current_state == HASH_ELEMENT_INT4X2) || (validationData->validation_current_state == HASH_ELEMENT_INT4X3) || (validationData->validation_current_state == HASH_ELEMENT_INT4X4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_STRING) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__connect_param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CONNECT_PARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CONNECT_PARAM;
        }
//        parentValidationData->connect_param++;

        break;
        }

        case 471:
        {
        setparam____cg_setparam__ValidationData* parentValidationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CONNECT_PARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CONNECT_PARAM;
        }
//        parentValidationData->connect_param++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CONNECT_PARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CONNECT_PARAM;
        }
//        parentValidationData->connect_param++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__connect_param()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__setparam____cg_setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 317:
        {
        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SETPARAM;
        }
//        parentValidationData->setparam++;

        break;
        }

        case 389:
        {
        usertype__ValidationData* parentValidationData = (usertype__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SETPARAM;
        }
//        parentValidationData->setparam++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        setparam____cg_setparam__ValidationData* validationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.newObject(sizeof(setparam____cg_setparam__ValidationData));
        memset(validationData, 0, sizeof(setparam____cg_setparam__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__setparam____cg_setparam()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        setparam____cg_setparam__ValidationData* validationData = (setparam____cg_setparam__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (validationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FIXED) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF) || (validationData->validation_current_state == HASH_ELEMENT_HALF1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X2) || (validationData->validation_current_state == HASH_ELEMENT_INT1X3) || (validationData->validation_current_state == HASH_ELEMENT_INT1X4) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X1) || (validationData->validation_current_state == HASH_ELEMENT_INT2X2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X3) || (validationData->validation_current_state == HASH_ELEMENT_INT2X4) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X1) || (validationData->validation_current_state == HASH_ELEMENT_INT3X2) || (validationData->validation_current_state == HASH_ELEMENT_INT3X3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X4) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_INT4X1) || (validationData->validation_current_state == HASH_ELEMENT_INT4X2) || (validationData->validation_current_state == HASH_ELEMENT_INT4X3) || (validationData->validation_current_state == HASH_ELEMENT_INT4X4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_STRING) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == HASH_ELEMENT_USERTYPE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SETPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__array____cg_newarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 39:
        {
        array____cg_newarray_type__ValidationData* parentValidationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ARRAY) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_ENUM) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT1X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT2X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT3X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X1) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X2) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X3) || (parentValidationData->validation_current_state == HASH_ELEMENT_INT4X4) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_STRING) || (parentValidationData->validation_current_state == HASH_ELEMENT_SURFACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        case 147:
        {
        newparam____cg_newparam__ValidationData* parentValidationData = (newparam____cg_newparam__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODIFIER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SEMANTIC) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_ARRAY;
        }
//        parentValidationData->array++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        array____cg_newarray_type__ValidationData* validationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.newObject(sizeof(array____cg_newarray_type__ValidationData));
        memset(validationData, 0, sizeof(array____cg_newarray_type__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__array____cg_newarray_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        array____cg_newarray_type__ValidationData* validationData = (array____cg_newarray_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ARRAY) || (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (validationData->validation_current_state == HASH_ELEMENT_CONNECT_PARAM) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FIXED) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF) || (validationData->validation_current_state == HASH_ELEMENT_HALF1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X2) || (validationData->validation_current_state == HASH_ELEMENT_INT1X3) || (validationData->validation_current_state == HASH_ELEMENT_INT1X4) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X1) || (validationData->validation_current_state == HASH_ELEMENT_INT2X2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X3) || (validationData->validation_current_state == HASH_ELEMENT_INT2X4) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X1) || (validationData->validation_current_state == HASH_ELEMENT_INT3X2) || (validationData->validation_current_state == HASH_ELEMENT_INT3X3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X4) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_INT4X1) || (validationData->validation_current_state == HASH_ELEMENT_INT4X2) || (validationData->validation_current_state == HASH_ELEMENT_INT4X3) || (validationData->validation_current_state == HASH_ELEMENT_INT4X4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_STRING) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) || (validationData->validation_current_state == HASH_ELEMENT_USERTYPE) || (validationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_ARRAY, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__ValidationData* parentValidationData = (profile_CG__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TECHNIQUE;
        }
//        parentValidationData->technique++;

        profile_CG__technique__ValidationData* validationData = (profile_CG__technique__ValidationData*)mValidationDataStack.newObject(sizeof(profile_CG__technique__ValidationData));
        memset(validationData, 0, sizeof(profile_CG__technique__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__technique()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__ValidationData* validationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_PASS) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__technique__pass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__ValidationData* parentValidationData = (profile_CG__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_INCLUDE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == HASH_ELEMENT_PASS) || (parentValidationData->validation_current_state == HASH_ELEMENT_SETPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PASS, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PASS;
        }
//        parentValidationData->pass++;

        profile_CG__technique__pass__ValidationData* validationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.newObject(sizeof(profile_CG__technique__pass__ValidationData));
        memset(validationData, 0, sizeof(profile_CG__technique__pass__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__technique__pass()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__ValidationData* validationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (validationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (validationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (validationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (validationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (validationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (validationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (validationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (validationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_FOG_END) || (validationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (validationData->validation_current_state == HASH_ELEMENT_FOG_START) || (validationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (validationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (validationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (validationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (validationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (validationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (validationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (validationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (validationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (validationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (validationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (validationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (validationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (validationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_SHADER) || (validationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (validationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (validationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PASS, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_pipeline_stage( ParserString value )
{
    return validate__cg_pipeline_stage( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_pipeline_stage( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_pipeline_stage__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__cg_pipeline_stage__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__technique__pass__shader( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__ValidationData* parentValidationData = (profile_CG__technique__pass__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_ALPHA_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_AUTO_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_EQUATION_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_BLEND_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_DEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLEAR_STENCIL) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CLIP_PLANE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_MATERIAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COLOR_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_CULL_FACE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_BOUNDS_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLAMP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_RANGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_DEPTH_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DITHER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_DRAW) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_COORD_SRC) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_DENSITY) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_END) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_FOG_START) || (parentValidationData->validation_current_state == HASH_ELEMENT_FRONT_FACE) || (parentValidationData->validation_current_state == HASH_ELEMENT_GL_HOOK_ABSTRACT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHTING_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_POSITION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_CUTOFF) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_DIRECTION) || (parentValidationData->validation_current_state == HASH_ELEMENT_LIGHT_SPOT_EXPONENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_LINE_WIDTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_LOGIC_OP_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_AMBIENT) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_DIFFUSE) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_EMISSION) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SHININESS) || (parentValidationData->validation_current_state == HASH_ELEMENT_MATERIAL_SPECULAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_MODEL_VIEW_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_MULTISAMPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NORMALIZE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_DISTANCE_ATTENUATION) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MAX) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SIZE_MIN) || (parentValidationData->validation_current_state == HASH_ELEMENT_POINT_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_MODE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_SMOOTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_POLYGON_STIPPLE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_PROJECTION_MATRIX) || (parentValidationData->validation_current_state == HASH_ELEMENT_RESCALE_NORMAL_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_SCISSOR_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADER) || (parentValidationData->validation_current_state == HASH_ELEMENT_SHADE_MODEL) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_CLEAR) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_FUNC_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_MASK_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_OP_SEPARATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TARGET) || (parentValidationData->validation_current_state == HASH_ELEMENT_STENCIL_TEST_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE1D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE2D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE3D_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURECUBE_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTUREDEPTH_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURERECT_ENABLE) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_COLOR) || (parentValidationData->validation_current_state == HASH_ELEMENT_TEXTURE_ENV_MODE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_SHADER, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_SHADER;
        }
//        parentValidationData->shader++;

        profile_CG__technique__pass__shader__ValidationData* validationData = (profile_CG__technique__pass__shader__ValidationData*)mValidationDataStack.newObject(sizeof(profile_CG__technique__pass__shader__ValidationData));
        memset(validationData, 0, sizeof(profile_CG__technique__pass__shader__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__technique__pass__shader()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__shader__ValidationData* validationData = (profile_CG__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BIND) || (validationData->validation_current_state == HASH_ELEMENT_NAME) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_SHADER, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__technique__pass__shader__compiler_target( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__shader__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_COMPILER_TARGET, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_COMPILER_TARGET;
        }
//        parentValidationData->compiler_target++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__technique__pass__shader__compiler_target()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__technique__pass__shader__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__shader__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ANNOTATE) || (parentValidationData->validation_current_state == HASH_ELEMENT_COMPILER_OPTIONS) || (parentValidationData->validation_current_state == HASH_ELEMENT_COMPILER_TARGET) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NAME, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NAME;
        }
//        parentValidationData->name++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__technique__pass__shader__name()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__technique__pass__shader__bind( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__shader__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_BIND) || (parentValidationData->validation_current_state == HASH_ELEMENT_NAME) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BIND, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BIND;
        }
//        parentValidationData->bind++;

        profile_CG__technique__pass__shader__bind__ValidationData* validationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.newObject(sizeof(profile_CG__technique__pass__shader__bind__ValidationData));
        memset(validationData, 0, sizeof(profile_CG__technique__pass__shader__bind__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__technique__pass__shader__bind()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__shader__bind__ValidationData* validationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BOOL) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL1X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL2X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL3X4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X1) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X2) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X3) || (validationData->validation_current_state == HASH_ELEMENT_BOOL4X4) || (validationData->validation_current_state == HASH_ELEMENT_ENUM) || (validationData->validation_current_state == HASH_ELEMENT_FIXED) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED1X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED2X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED3X4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X1) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X2) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X3) || (validationData->validation_current_state == HASH_ELEMENT_FIXED4X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT1X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3X4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X1) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF) || (validationData->validation_current_state == HASH_ELEMENT_HALF1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF1X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF2X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF3X4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X1) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X2) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X3) || (validationData->validation_current_state == HASH_ELEMENT_HALF4X4) || (validationData->validation_current_state == HASH_ELEMENT_INT) || (validationData->validation_current_state == HASH_ELEMENT_INT1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X1) || (validationData->validation_current_state == HASH_ELEMENT_INT1X2) || (validationData->validation_current_state == HASH_ELEMENT_INT1X3) || (validationData->validation_current_state == HASH_ELEMENT_INT1X4) || (validationData->validation_current_state == HASH_ELEMENT_INT2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X1) || (validationData->validation_current_state == HASH_ELEMENT_INT2X2) || (validationData->validation_current_state == HASH_ELEMENT_INT2X3) || (validationData->validation_current_state == HASH_ELEMENT_INT2X4) || (validationData->validation_current_state == HASH_ELEMENT_INT3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X1) || (validationData->validation_current_state == HASH_ELEMENT_INT3X2) || (validationData->validation_current_state == HASH_ELEMENT_INT3X3) || (validationData->validation_current_state == HASH_ELEMENT_INT3X4) || (validationData->validation_current_state == HASH_ELEMENT_INT4) || (validationData->validation_current_state == HASH_ELEMENT_INT4X1) || (validationData->validation_current_state == HASH_ELEMENT_INT4X2) || (validationData->validation_current_state == HASH_ELEMENT_INT4X3) || (validationData->validation_current_state == HASH_ELEMENT_INT4X4) || (validationData->validation_current_state == HASH_ELEMENT_PARAM) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER1D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER3D) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERCUBE) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERDEPTH) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLERRECT) || (validationData->validation_current_state == HASH_ELEMENT_STRING) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_BIND, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_CG__technique__pass__shader__bind__param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_CG__technique__pass__shader__bind__ValidationData* parentValidationData = (profile_CG__technique__pass__shader__bind__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PARAM;
        }
//        parentValidationData->param++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_CG__technique__pass__shader__bind__param()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_COMMON( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__ValidationData* validationData = (profile_COMMON__ValidationData*)mValidationDataStack.newObject(sizeof(profile_COMMON__ValidationData));
        memset(validationData, 0, sizeof(profile_COMMON__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_COMMON()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__ValidationData* validationData = (profile_COMMON__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_TECHNIQUE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_PROFILE_COMMON, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__newparam____common_newparam_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 460:
        {
        profile_COMMON__ValidationData* parentValidationData = (profile_COMMON__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        case 318:
        {
        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_NEWPARAM;
        }
//        parentValidationData->newparam++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        newparam____common_newparam_type__ValidationData* validationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.newObject(sizeof(newparam____common_newparam_type__ValidationData));
        memset(validationData, 0, sizeof(newparam____common_newparam_type__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__newparam____common_newparam_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        newparam____common_newparam_type__ValidationData* validationData = (newparam____common_newparam_type__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_FLOAT) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT2) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT3) || (validationData->validation_current_state == HASH_ELEMENT_FLOAT4) || (validationData->validation_current_state == HASH_ELEMENT_SAMPLER2D) || (validationData->validation_current_state == HASH_ELEMENT_SURFACE) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_NEWPARAM, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_COMMON__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__ValidationData* parentValidationData = (profile_COMMON__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_TECHNIQUE;
        }
//        parentValidationData->technique++;

        profile_COMMON__technique__ValidationData* validationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.newObject(sizeof(profile_COMMON__technique__ValidationData));
        memset(validationData, 0, sizeof(profile_COMMON__technique__ValidationData));
        validationData->validation_current_state = STATE_MACHINE_ROOT;


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_COMMON__technique()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__technique__ValidationData* validationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( !( (validationData->validation_current_state == HASH_ELEMENT_BLINN) || (validationData->validation_current_state == HASH_ELEMENT_CONSTANT) || (validationData->validation_current_state == HASH_ELEMENT_EXTRA) || (validationData->validation_current_state == HASH_ELEMENT_LAMBERT) || (validationData->validation_current_state == HASH_ELEMENT_PHONG) ) )
        {
            if ( handleError( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_CLOSING_TAG, HASH_ELEMENT_TECHNIQUE, (const ParserChar*)0, 0) )
                return false;
        }

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__profile_COMMON__technique__constant( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_CONSTANT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_CONSTANT;
        }
//        parentValidationData->constant++;

        profile_COMMON__technique__constant__ValidationData* validationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.newObject(sizeof(profile_COMMON__technique__constant__ValidationData));
        memset(validationData, 0, sizeof(profile_COMMON__technique__constant__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__profile_COMMON__technique__constant()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__technique__constant__ValidationData* validationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__emission( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ambient != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: ambient" ) )
                return false;
        }
        if ( parentValidationData->diffuse != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: diffuse" ) )
                return false;
        }
        if ( parentValidationData->specular != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: specular" ) )
                return false;
        }
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->emission >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_EMISSION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->emission++;

        break;
        }

        case 113:
        {
        profile_COMMON__technique__constant__ValidationData* parentValidationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->emission >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_EMISSION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->emission++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ambient != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: ambient" ) )
                return false;
        }
        if ( parentValidationData->diffuse != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: diffuse" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->emission >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_EMISSION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->emission++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->ambient != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: ambient" ) )
                return false;
        }
        if ( parentValidationData->diffuse != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: diffuse" ) )
                return false;
        }
        if ( parentValidationData->specular != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: specular" ) )
                return false;
        }
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->emission >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_EMISSION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->emission++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.newObject(sizeof(emission__ValidationData));
        memset(validationData, 0, sizeof(emission__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__emission()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color != 0 )
            if ( validationData->color < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "child: color" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->texture != 0 )
            if ( validationData->texture < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_EMISSION, (const ParserChar*)0, "child: texture" ) )
                    return false;
        if ( validationData->color == 0 && validationData->param == 0 && validationData->texture == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_EMISSION, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__common_color_or_texture_type____color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 5:
        {
        emission__ValidationData* parentValidationData = (emission__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->texture != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: texture" ) )
                return false;
        }
        if ( parentValidationData->color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->color++;

        break;
        }

        case 465:
        {
        transparent__ValidationData* parentValidationData = (transparent__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->texture != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_COLOR, (const ParserChar*)0, "sibling: texture" ) )
                return false;
        }
        if ( parentValidationData->color >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_COLOR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->color++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        common_color_or_texture_type____color__ValidationData* validationData = (common_color_or_texture_type____color__ValidationData*)mValidationDataStack.newObject(sizeof(common_color_or_texture_type____color__ValidationData));
        memset(validationData, 0, sizeof(common_color_or_texture_type____color__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__common_color_or_texture_type____color()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__common_color_or_texture_type____param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 5:
        {
        emission__ValidationData* parentValidationData = (emission__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->texture != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: texture" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        case 465:
        {
        transparent__ValidationData* parentValidationData = (transparent__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->texture != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: texture" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__common_color_or_texture_type____param()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__texture( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 5:
        {
        emission__ValidationData* parentValidationData = (emission__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TEXTURE, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TEXTURE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->texture >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TEXTURE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->texture++;

        break;
        }

        case 465:
        {
        transparent__ValidationData* parentValidationData = (transparent__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->color != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TEXTURE, (const ParserChar*)0, "sibling: color" ) )
                return false;
        }
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TEXTURE, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->texture >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TEXTURE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->texture++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        texture__ValidationData* validationData = (texture__ValidationData*)mValidationDataStack.newObject(sizeof(texture__ValidationData));
        memset(validationData, 0, sizeof(texture__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__texture()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        texture__ValidationData* validationData = (texture__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__reflective( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflective >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflective++;

        break;
        }

        case 113:
        {
        profile_COMMON__technique__constant__ValidationData* parentValidationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflective >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflective++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflective >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflective++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflective >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflective++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.newObject(sizeof(emission__ValidationData));
        memset(validationData, 0, sizeof(emission__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__reflective()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color != 0 )
            if ( validationData->color < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "child: color" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->texture != 0 )
            if ( validationData->texture < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, "child: texture" ) )
                    return false;
        if ( validationData->color == 0 && validationData->param == 0 && validationData->texture == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_REFLECTIVE, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__reflectivity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflectivity >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflectivity++;

        break;
        }

        case 113:
        {
        profile_COMMON__technique__constant__ValidationData* parentValidationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflectivity >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflectivity++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflectivity >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflectivity++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->reflectivity >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->reflectivity++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.newObject(sizeof(reflectivity__ValidationData));
        memset(validationData, 0, sizeof(reflectivity__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__reflectivity()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->_float != 0 )
            if ( validationData->_float < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "child: float" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->_float == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_REFLECTIVITY, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__common_float_or_param_type____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        reflectivity__ValidationData* parentValidationData = (reflectivity__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->param != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_FLOAT, (const ParserChar*)0, "sibling: param" ) )
                return false;
        }
        if ( parentValidationData->_float >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_FLOAT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->_float++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__common_float_or_param_type____float()
{
    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__common_float_or_param_type____param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        reflectivity__ValidationData* parentValidationData = (reflectivity__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->_float != 0 ) // sibling in choice
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_PARAM, (const ParserChar*)0, "sibling: float" ) )
                return false;
        }
        if ( parentValidationData->param >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_PARAM, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->param++;

    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__common_float_or_param_type____param()
{
    return true;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_opaque_enum( ParserString value )
{
    return validate__fx_opaque_enum( value.str, value.length );
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_opaque_enum( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_opaque_enum__stream( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
ParserError::ErrorType validate__fx_opaque_enum__streamEnd( const ParserChar* value, size_t length )
{
    return ParserError::SIMPLE_TYPE_VALIDATION_OK;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__transparent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparent >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparent++;

        break;
        }

        case 113:
        {
        profile_COMMON__technique__constant__ValidationData* parentValidationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparent >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparent++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparent >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparent++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparent >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparent++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        transparent__ValidationData* validationData = (transparent__ValidationData*)mValidationDataStack.newObject(sizeof(transparent__ValidationData));
        memset(validationData, 0, sizeof(transparent__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__transparent()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        transparent__ValidationData* validationData = (transparent__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color != 0 )
            if ( validationData->color < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "child: color" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->texture != 0 )
            if ( validationData->texture < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, "child: texture" ) )
                    return false;
        if ( validationData->color == 0 && validationData->param == 0 && validationData->texture == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TRANSPARENT, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__transparency( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparency >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparency++;

        break;
        }

        case 113:
        {
        profile_COMMON__technique__constant__ValidationData* parentValidationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparency >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparency++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparency >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparency++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->transparency >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->transparency++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.newObject(sizeof(reflectivity__ValidationData));
        memset(validationData, 0, sizeof(reflectivity__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__transparency()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->_float != 0 )
            if ( validationData->_float < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, "child: float" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->_float == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_TRANSPARENCY, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__index_of_refraction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INDEX_OF_REFRACTION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->index_of_refraction++;

        break;
        }

        case 113:
        {
        profile_COMMON__technique__constant__ValidationData* parentValidationData = (profile_COMMON__technique__constant__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INDEX_OF_REFRACTION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->index_of_refraction++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INDEX_OF_REFRACTION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->index_of_refraction++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->index_of_refraction >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_INDEX_OF_REFRACTION, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->index_of_refraction++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.newObject(sizeof(reflectivity__ValidationData));
        memset(validationData, 0, sizeof(reflectivity__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__index_of_refraction()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->_float != 0 )
            if ( validationData->_float < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INDEX_OF_REFRACTION, (const ParserChar*)0, "child: float" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_INDEX_OF_REFRACTION, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->_float == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_INDEX_OF_REFRACTION, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__lambert( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_LAMBERT, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_LAMBERT;
        }
//        parentValidationData->lambert++;

        lambert__ValidationData* validationData = (lambert__ValidationData*)mValidationDataStack.newObject(sizeof(lambert__ValidationData));
        memset(validationData, 0, sizeof(lambert__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__lambert()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        lambert__ValidationData* validationData = (lambert__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__ambient____common_color_or_texture_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->diffuse != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: diffuse" ) )
                return false;
        }
        if ( parentValidationData->specular != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: specular" ) )
                return false;
        }
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->ambient >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ambient++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->diffuse != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: diffuse" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->ambient >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ambient++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->diffuse != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: diffuse" ) )
                return false;
        }
        if ( parentValidationData->specular != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: specular" ) )
                return false;
        }
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->ambient >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->ambient++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.newObject(sizeof(emission__ValidationData));
        memset(validationData, 0, sizeof(emission__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__ambient____common_color_or_texture_type()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color != 0 )
            if ( validationData->color < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "child: color" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->texture != 0 )
            if ( validationData->texture < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, "child: texture" ) )
                    return false;
        if ( validationData->color == 0 && validationData->param == 0 && validationData->texture == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_AMBIENT, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->specular != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: specular" ) )
                return false;
        }
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->diffuse >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->diffuse++;

        break;
        }

        case 426:
        {
        lambert__ValidationData* parentValidationData = (lambert__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->diffuse >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->diffuse++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->specular != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: specular" ) )
                return false;
        }
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->diffuse >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->diffuse++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.newObject(sizeof(emission__ValidationData));
        memset(validationData, 0, sizeof(emission__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__diffuse()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color != 0 )
            if ( validationData->color < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "child: color" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->texture != 0 )
            if ( validationData->texture < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, "child: texture" ) )
                    return false;
        if ( validationData->color == 0 && validationData->param == 0 && validationData->texture == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_DIFFUSE, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__phong( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_PHONG, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_PHONG;
        }
//        parentValidationData->phong++;

        phong__ValidationData* validationData = (phong__ValidationData*)mValidationDataStack.newObject(sizeof(phong__ValidationData));
        memset(validationData, 0, sizeof(phong__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__phong()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        phong__ValidationData* validationData = (phong__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->specular >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->specular++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->shininess != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: shininess" ) )
                return false;
        }
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->specular >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->specular++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.newObject(sizeof(emission__ValidationData));
        memset(validationData, 0, sizeof(emission__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__specular()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        emission__ValidationData* validationData = (emission__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->color != 0 )
            if ( validationData->color < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "child: color" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->texture != 0 )
            if ( validationData->texture < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, "child: texture" ) )
                    return false;
        if ( validationData->color == 0 && validationData->param == 0 && validationData->texture == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_SPECULAR, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__shininess( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        switch ( mElementDataStack.back().typeID )
        {
        case 490:
        {
        blinn__ValidationData* parentValidationData = (blinn__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->shininess >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SHININESS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->shininess++;

        break;
        }

        case 583:
        {
        phong__ValidationData* parentValidationData = (phong__ValidationData*)mValidationDataStack.top();
        if ( parentValidationData->reflective != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: reflective" ) )
                return false;
        }
        if ( parentValidationData->reflectivity != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: reflectivity" ) )
                return false;
        }
        if ( parentValidationData->transparent != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: transparent" ) )
                return false;
        }
        if ( parentValidationData->transparency != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: transparency" ) )
                return false;
        }
        if ( parentValidationData->index_of_refraction != 0 ) // following sibling
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_SEQUENCE_NEXT_SIBLING_ALREADY_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "sibling: index_of_refraction" ) )
                return false;
        }
        if ( parentValidationData->shininess >= 1 ) // maxOccurs
        {
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MAX_OCCURS_EXCEEDED, HASH_ELEMENT_SHININESS, (const ParserChar*)0, 0 ) )
                return false;
        }
        parentValidationData->shininess++;

        break;
        }

        default:
            // TODO we could throw some error here
            break;
        }
        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.newObject(sizeof(reflectivity__ValidationData));
        memset(validationData, 0, sizeof(reflectivity__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__shininess()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        reflectivity__ValidationData* validationData = (reflectivity__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)
        if ( validationData->_float != 0 )
            if ( validationData->_float < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "child: float" ) )
                    return false;
        if ( validationData->param != 0 )
            if ( validationData->param < 1 ) // children minOccurs
                if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED, HASH_ELEMENT_SHININESS, (const ParserChar*)0, "child: param" ) )
                    return false;
        if ( validationData->_float == 0 && validationData->param == 0 ) // no child present
            if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_CHOICE_NO_CHILD_PRESENT, HASH_ELEMENT_SHININESS, (const ParserChar*)0, 0 ) )
                return false;

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateBegin__blinn( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        profile_COMMON__technique__ValidationData* parentValidationData = (profile_COMMON__technique__ValidationData*)mValidationDataStack.top();
        if ( !( (parentValidationData->validation_current_state == HASH_ELEMENT_ASSET) || (parentValidationData->validation_current_state == HASH_ELEMENT_IMAGE) || (parentValidationData->validation_current_state == HASH_ELEMENT_NEWPARAM) || (parentValidationData->validation_current_state == STATE_MACHINE_ROOT) ) )
        {
            if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_VALIDATION_UNEXPECTED_ELEMENT, HASH_ELEMENT_BLINN, (const ParserChar*)0, 0) )
                return false;
        }
        else
        {
            parentValidationData->validation_current_state = HASH_ELEMENT_BLINN;
        }
//        parentValidationData->blinn++;

        blinn__ValidationData* validationData = (blinn__ValidationData*)mValidationDataStack.newObject(sizeof(blinn__ValidationData));
        memset(validationData, 0, sizeof(blinn__ValidationData));


    } // validation
#endif

    return true;
}

//---------------------------------------------------------------------
bool ColladaParserAutoGen14Private::_validateEnd__blinn()
{
#ifdef GENERATEDSAXPARSER_VALIDATION
    if ( mValidate )
    {

        blinn__ValidationData* validationData = (blinn__ValidationData*)mValidationDataStack.top();
        DISABLE_WARNING_UNUSED(validationData)

        mValidationDataStack.deleteObject();


    } // validation
#endif

    return true;
}

#endif
} // namespace
