AnalysisDialog.h

#pragma once


namespace Core
{
    ref class Model;
    ref class Motion;

    ref class ListViewItemComparer;


    /// <summary>
    /// 分析ダイアログ
    /// </summary>
    public ref class AnalysisDialog : public System::Windows::Forms::Form
    {
    // Construction --------------------------------------------------------
    public:
        AnalysisDialog(void);

    protected:
        ~AnalysisDialog();


    // Operation -----------------------------------------------------------
    public:
        void Show( Motion^ motion, Model^ model );

    private:
        void InitializeComponent(void);

        array< Robotics::AngleRange >^ GetOperationalAngle( Motion^ motion, int linkSum );
        array< double >^ GetMaximumAngularVelocity( Motion^ motion, int linkSum );
        array< double >^ GetMaximumTorque( Motion^ motion, Model^ model );


    // Event Handler -------------------------------------------------------
    private:
        System::Void ListViewColumnClick(System::Object^ sender, System::Windows::Forms::ColumnClickEventArgs^ e);


    // Attribute ===========================================================
    private:


        ListViewItemComparer^ m_listViewItemComparer;   ///< リストビュー アイテムの比較


        //
        // 以降は デザイナによって自動生成されたコード
        //


    private: System::Windows::Forms::ListView^ m_listView;
    private: System::Windows::Forms::ColumnHeader^ m_nameHeader;
    private: System::Windows::Forms::ColumnHeader^ m_maximumTorqueHeader;
    private: System::Windows::Forms::ColumnHeader^ m_operationalAngleHeader;
    private: System::Windows::Forms::ColumnHeader^ m_maximumAngularVelocityHeader;
    private: System::ComponentModel::Container ^components;

    };
}