axmol/extensions/Live2D/Framework/src/Physics/CubismPhysicsJson.hpp

353 lines
11 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 "CubismJsonHolder.hpp"
#include "Utils/CubismJson.hpp"
#include "Math/CubismVector2.hpp"
#include "Id/CubismId.hpp"
namespace Live2D { namespace Cubism { namespace Framework {
/**
* @brief physics3.jsonのコンテナ
*
* physics3.jsonのコンテナ
*/
class CubismPhysicsJson : public CubismJsonHolder
{
public:
/**
* @brief
*
*
*
* @param[in] buffer physics3.jsonが読み込まれているバッファ
* @param[in] size
*/
CubismPhysicsJson(const csmByte* buffer, csmSizeInt size);
/**
* @brief
*
*
*/
virtual ~CubismPhysicsJson();
/**
* @brief
*
*
*
* @return
*/
CubismVector2 GetGravity() const;
/**
* @brief
*
*
*
* @return
*/
CubismVector2 GetWind() const;
/**
* @brief
*
*
*
* @return
*/
csmInt32 GetSubRigCount() const;
/**
* @brief
*
*
*
* @return
*/
csmInt32 GetTotalInputCount() const;
/**
* @brief
*
*
*
* @return
*/
csmInt32 GetTotalOutputCount() const;
/**
* @brief
*
*
*
* @return
*/
csmInt32 GetVertexCount() const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmFloat32 GetNormalizationPositionMinimumValue(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmFloat32 GetNormalizationPositionMaximumValue(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmFloat32 GetNormalizationPositionDefaultValue(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmFloat32 GetNormalizationAngleMinimumValue(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmFloat32 GetNormalizationAngleMaximumValue(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmFloat32 GetNormalizationAngleDefaultValue(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmInt32 GetInputCount(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] inputIndex
* @return
*/
csmFloat32 GetInputWeight(csmInt32 physicsSettingIndex, csmInt32 inputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] inputIndex
* @return
*/
csmBool GetInputReflect(csmInt32 physicsSettingIndex, csmInt32 inputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] inputIndex
* @return
*/
const csmChar* GetInputType(csmInt32 physicsSettingIndex, csmInt32 inputIndex) const;
/**
* @brief IDの取得
*
* IDを取得する
*
* @param[in] physicsSettingIndex
* @param[in] inputIndex
* @return ID
*/
CubismIdHandle GetInputSourceId(csmInt32 physicsSettingIndex, csmInt32 inputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmInt32 GetOutputCount(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] outputIndex
* @return
*/
csmInt32 GetOutputVertexIndex(csmInt32 physicsSettingIndex, csmInt32 outputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] outputIndex
* @return
*/
csmFloat32 GetOutputAngleScale(csmInt32 physicsSettingIndex, csmInt32 outputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] outputIndex
* @return
*/
csmFloat32 GetOutputWeight(csmInt32 physicsSettingIndex, csmInt32 outputIndex) const;
/**
* @brief IDの取得
*
* IDを取得する
*
* @param[in] physicsSettingIndex
* @param[in] outputIndex
* @return ID
*/
CubismIdHandle GetOutputsDestinationId(csmInt32 physicsSettingIndex, csmInt32 outputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] outputIndex
* @return
*/
const csmChar* GetOutputType(csmInt32 physicsSettingIndex, csmInt32 outputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] outputIndex
* @return
*/
csmBool GetOutputReflect(csmInt32 physicsSettingIndex, csmInt32 outputIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @return
*/
csmInt32 GetParticleCount(csmInt32 physicsSettingIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] vertexIndex
* @return
*/
csmFloat32 GetParticleMobility(csmInt32 physicsSettingIndex, csmInt32 vertexIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] vertexIndex
* @return
*/
csmFloat32 GetParticleDelay(csmInt32 physicsSettingIndex, csmInt32 vertexIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] vertexIndex
* @return
*/
csmFloat32 GetParticleAcceleration(csmInt32 physicsSettingIndex, csmInt32 vertexIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] vertexIndex
* @return
*/
csmFloat32 GetParticleRadius(csmInt32 physicsSettingIndex, csmInt32 vertexIndex) const;
/**
* @brief
*
*
*
* @param[in] physicsSettingIndex
* @param[in] vertexIndex
* @return
*/
CubismVector2 GetParticlePosition(csmInt32 physicsSettingIndex, csmInt32 vertexIndex) const;
};
}}}