axmol/extensions/Live2D/Framework/src/ICubismModelSetting.hpp

235 lines
7.8 KiB
C++
Raw Normal View History

/**
* Copyright(c) Live2D Inc. All rights reserved.
*
* Use of this source code is governed by the Live2D Open Software license
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
*/
#pragma once
#include "CubismFramework.hpp"
#include "Type/csmMap.hpp"
#include "Id/CubismId.hpp"
//--------- LIVE2D NAMESPACE ------------
namespace Live2D { namespace Cubism { namespace Framework {
/**
* @brief
*
*
*
*/
class ICubismModelSetting
{
public:
/**
* @brief
*
*
*/
virtual ~ICubismModelSetting() {}
/**
* @brief Mocファイルの名前を取得する
*
* @return Mocファイルの名前
*/
virtual const csmChar* GetModelFileName() = 0;
/**
* @brief 使
*
* @return
*/
virtual csmInt32 GetTextureCount() = 0;
/**
* @brief
*
* @return
*/
virtual const csmChar* GetTextureDirectory() = 0;
/**
* @brief 使
*
* @param[in] index
* @return
*/
virtual const csmChar* GetTextureFileName(csmInt32 index) = 0;
/**
* @brief
*
* @return
*/
virtual csmInt32 GetHitAreasCount() = 0;
/**
* @brief IDを取得する
*
* @param[in] index
* @return ID
*/
virtual CubismIdHandle GetHitAreaId(csmInt32 index) = 0;
/**
* @brief
*
* @param[in] index
* @return
*/
virtual const csmChar* GetHitAreaName(csmInt32 index) = 0;
/**
* @brief
*
* @return
*/
virtual const csmChar* GetPhysicsFileName() = 0;
/**
* @brief
*
* @return
*/
virtual const csmChar* GetPoseFileName() = 0;
/**
* @brief
*
* @return
*/
virtual const csmChar* GetDisplayInfoFileName() = 0;
/**
* @brief
*
* @return
*/
virtual csmInt32 GetExpressionCount() = 0;
/**
* @brief
*
* @param[in] index
* @return
*/
virtual const csmChar* GetExpressionName(csmInt32 index) = 0;
/**
* @brief
*
* @param[in] index
* @return
*/
virtual const csmChar* GetExpressionFileName(csmInt32 index) = 0;
/**
* @brief
*
* @return
*/
virtual csmInt32 GetMotionGroupCount() = 0;
/**
* @brief
*
* @param[in] index
* @return
*/
virtual const csmChar* GetMotionGroupName(csmInt32 index) = 0;
/**
* @brief
*
* @param[in] groupName
* @return
*/
virtual csmInt32 GetMotionCount(const csmChar* groupName) = 0;
/**
* @brief
*
* @param[in] groupName
* @param[in] index
* @return
*/
virtual const csmChar* GetMotionFileName(const csmChar* groupName, csmInt32 index) = 0;
/**
* @brief
*
* @param[in] groupName
* @param[in] index
* @return
*/
virtual const csmChar* GetMotionSoundFileName(const csmChar* groupName, csmInt32 index) = 0;
/**
* @brief
*
* @param[in] groupName
* @param[in] index
* @return []
*/
virtual csmFloat32 GetMotionFadeInTimeValue(const csmChar* groupName, csmInt32 index) = 0;
/**
* @brief
*
* @param[in] groupName
* @param[in] index
* @return []
*/
virtual csmFloat32 GetMotionFadeOutTimeValue(const csmChar* groupName, csmInt32 index) = 0;
/**
* @brief
*
* @return
*/
virtual const csmChar* GetUserDataFile() = 0;
/**
* @brief
*
* @param[out] outLayoutMap csmMapクラスのインスタンス
* @retval true ->
* @retval false ->
*/
virtual csmBool GetLayoutMap(csmMap<csmString, csmFloat32>& outLayoutMap) = 0;
/**
* @brief
*
* @return
*/
virtual csmInt32 GetEyeBlinkParameterCount() = 0;
/**
* @brief IDを取得する
*
* @param[in] index
* @return ID
*/
virtual CubismIdHandle GetEyeBlinkParameterId(csmInt32 index) = 0;
/**
* @brief
*
* @return
*/
virtual csmInt32 GetLipSyncParameterCount() = 0;
/**
* @brief IDを取得する
*
* @param[in] index
* @return ID
*/
virtual CubismIdHandle GetLipSyncParameterId(csmInt32 index) = 0;
};
}}}