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

#pragma once

#include "glmRTTI.h"
#include "glmCoreAPI.h"
#include "glmString.h"

//#include <glmGolaemCharacterDeclarations.h> // GolaemCharacter declarations

#define GLM_SPECIFICPOSTURE_PERBONE_BLINDDATA_COUNT 8

namespace glm
{
    struct GLM_CORE_API BlindDataV0
    {
        GLM_RTTI("b435308e-76f4-4289-9e46-93e0947f5037", glm::BlindDataV0, addAttributes)

    public:
        /**
		* \brief Type describing what the blind data is
		*/
        struct Type
        {
        public:
            enum Value
            {
                BLENDSHAPE = 0,
                BLIND,
                SPECIFIC_ANIMATION,
                END
            };
        };

        GLM_CLASS_STAT_ID( glm::MemoryStatIds::GolaemShared)

        glm::GlmString _groupName; // mostly for blind data of type BLENDSHAPE
        glm::GlmString _name;
        BlindDataV0::Type::Value _type;

    private:
        static void addAttributes();
        void setTypeUInt(unsigned int type);
        unsigned int getTypeUInt() const;
    };
} // namespace glm
