///////////////////////////////////////////////////////////////////////////////
//  CHEONode.h

#pragma once

#include <string>
#include "../Independent/Math3D/S3D.h"
#include "../Independent/Math3D/SQuaternion.h"
#include "CHEOCollider.h"

namespace heo {

class CHEONode {
	std::string		m_Name;

	// トランスフォーム
	S3D				m_LocalPos;
	SQuaternion		m_LocalRotate;
	S3D				m_LocalScale;

	//
	int				m_ParentNodeIndex;
	int				m_MeshIndex;

	// コライダー
	CHEOCollider	m_Collider;

public:
	CHEONode(const std::string& Name, const S3D& LocalPos, const SQuaternion& LocalRotate, const S3D& LocalScale, int ParentNodeIndex,
		int MeshIndex, const CHEOCollider& Collider);
	virtual ~CHEONode() = default;

	const std::string&	GetName() const;

	// トランスフォーム
	const S3D&			GetLocalPos() const;
	const SQuaternion&	GetLocalRotate() const;
	const S3D&			GetLocalScale() const;

	//
	int					GetParentNodeIndex() const;
	int					GetMeshIndex() const;

	// コライダー
	const CHEOCollider&		GetCollider() const;
};

}

