AxisOfRotation.h

#pragma once


namespace Core
{
    /// 回転軸
    public ref class AxisOfRotation
    {
    // Construction --------------------------------------------------------
    public:
        AxisOfRotation( Microsoft::DirectX::Direct3D::Device^ device, float length );

        ~AxisOfRotation() { AxisOfRotation::!AxisOfRotation(); }
        !AxisOfRotation();


    // Operation -----------------------------------------------------------
    public:
        void Render( Microsoft::DirectX::Direct3D::Device^ device, Robotics::AxisVector^ axis );


    // Event Handler -------------------------------------------------------
    private:
        void SetLine( System::Object^ sender, System::EventArgs^ e );


    // Attribute ===========================================================
    private:
        float m_length;                                     ///< 長さ
        Microsoft::DirectX::Direct3D::VertexBuffer^ m_line; ///< ライン

        /// @note
        /// アンマネージ リソースを含むため、value classにしていない。
    };
}