//-----------------------//
        // Class Methods
        //-----------------------//
        public CDirectionalParameters GetCopy()
        {
            CDirectionalParameters c = new CDirectionalParameters();
            c.type = type;
            c.m_rndmWalk = m_rndmWalk.GetCopy();
            c.m_corrRndmWlk = m_corrRndmWlk.GetCopy();
            c.m_corrRndWlkDb = m_corrRndWlkDb.GetCopy();
            c.m_matrx = m_matrx.GetCopy();

            switch(c.m_modelType)
            {
            case DIRECTIONMODELTYPE.RANDOM_WALK:
                c.m_base = c.m_rndmWalk;
                break;
            case DIRECTIONMODELTYPE.CORR_RAND_WALK:
                c.m_base = c.m_corrRndmWlk;
                break;
            case DIRECTIONMODELTYPE.CORR_RAND_WALK_DIR_BIAS:
                c.m_base = c.m_corrRndWlkDb;
                break;
            case DIRECTIONMODELTYPE.VECTOR:
            case DIRECTIONMODELTYPE.VECTOR_DIRBIAS:
                c.m_base = c.m_matrx;
                break;
            }
            return c;
        }
        public FormTravel(CDirectionalParameters P)
        {
            InitializeComponent();
            this.Text = m_stTitle;
            m_r = P;
            rwCoeffTextBox.Text = "" + P.rndmWalk.coeff;

            crwPertTextBox.Text = "" + P.correlatedRndmWalk.pert;
            crwCoeffTextBox.Text = "" + P.correlatedRndmWalk.coeff;

            crwdbArcStepTextBox.Text = "" + P.correlatedRndmWalkDirBias.arcStep;
            crwdbBiasTextBox.Text = "" + P.correlatedRndmWalkDirBias.bias;
            crwdbCoeffTextBox.Text = "" + P.correlatedRndmWalkDirBias.coeff;
            crwdbDirOfBiasTextBox.Text = "" + P.correlatedRndmWalkDirBias.biasDir;
            crwdbPertTextBox.Text = "" + P.correlatedRndmWalkDirBias.pert;

            ProbTurnVectorTextBox.Text = m_r.matrix.directionVector.ConvertToString();
            BiasTextBox.Text = m_r.matrix.directionBiasMatrix.ConvertToStringA();
            TermCoeffTextBox.Text = m_r.matrix.term.ConvertToString();
            UpdateProbTurnVectorModeling();

            OkButton.Enabled = true;
            RefreshButton.Enabled = false;

            RndWlkGroupBox.Enabled = CrRndWlkGroupBox.Enabled = CrRndWlkDbGroupBox.Enabled = VectorGroupBox.Enabled = false;

            if(m_r.type == DIRECTIONMODELTYPE.RANDOM_WALK)
                RndWlkGroupBox.Enabled = true;
            else if(m_r.type == DIRECTIONMODELTYPE.CORR_RAND_WALK)
                CrRndWlkGroupBox.Enabled = true;
            else if(m_r.type == DIRECTIONMODELTYPE.CORR_RAND_WALK_DIR_BIAS)
                CrRndWlkDbGroupBox.Enabled = true;
            else if(m_r.type == DIRECTIONMODELTYPE.VECTOR)
            {
                ProbTurnVectorTextBox.Enabled = true;
                BiasTextBox.Enabled = false;
                VectorGroupBox.Enabled = true;
            }
            else if(m_r.type == DIRECTIONMODELTYPE.VECTOR_DIRBIAS)
            {
                ProbTurnVectorTextBox.Enabled = true;
                BiasTextBox.Enabled = true;
                VectorGroupBox.Enabled = true;
            }

            UdateBiasMatrixModeling();
            m_initializing = false;
        }