/***************************************************************************
*                                                                          *
*  Copyright (C) Golaem S.A.  All Rights Reserved.                         *
*                                                                          *
***************************************************************************/

#pragma once

#include "glmCoreAPI.h"
#include "glmRTTI.h"
#include "glmPODArray.h"
#include "glmArray.h"
#include "glmVector3.h"

#include <glmGolaemCharacterDeclarations.h> // GolaemCharacter declarations

namespace glm
{
    /**
	* \brief Represent a set of blind data which data are overriden
	*
	* \author dev@golaem.com
	*
	*/
    struct GLM_CORE_API BlindDataOverrideV0
    {
        GLM_RTTI("8c38af13-8a82-46b3-84c0-95e0ca75a798", glm::BlindDataOverrideV0, addAttributes);

    public:
        BlindDataOverrideV0()
            : _name("BlindDataOverride")
            , _weightMin(1)
            , _weightMax(1)
            , _randomSeed(1)
        {
        }

        glm::GlmString _name;

        PODArray<unsigned int> _blindDataIndices;
        Array<float> _blindDataValues;

        float _weightMin;
        float _weightMax;

        uint32_t _randomSeed;

    private:
        static void addAttributes();
    };
} // namespace glm
