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

#pragma once

#include "glmRTTI.h"

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

namespace glm
{
    /**
	* \brief Geometry Asset
	*/
    class GLM_CORE_API DeepDeformerAssetV0
    {
        GLM_RTTI("dcad6cab-a5e7-4bc8-af5b-0e13d48542ae", DeepDeformerAssetV0, addAttributes);

    public:
        GLM_CLASS_STAT_ID( glm::MemoryStatIds::GolaemShared);

        glm::GlmString _name;

        uint32_t _lodLevel; 
        PODArray<short> _geometryTags;

        glm::GlmString _deepFilename;

        DeepDeformerAssetV0();
        
        void getAbsoluteFile(const GlmString& inFile, glm::GlmString& resultFilePath, const char* referenceDirectory) const;

        void getAbsoluteDeepFile(glm::GlmString& resultFilePath, const char* referenceDirectory) const;
        
    protected:
        /**
		* \brief Inspection needed method declaring the inspectable attributes.
		*/
        static void addAttributes();
    };
} // namespace glm
