public List <CageAndRuleZone> GetTokExcitationRuleTokAnchorMeaningZone()
 {
     if (_parameters.tok_excitation > 0)
     {
         TokExcitationMeaningZone.Add(new CageAndRuleZone
         {
             Brush    = p_yellow,
             LeftTopX = 10 + Convert.ToInt32(pixel_pro_meter * _mineConfig.MainViewConfig.MaxTokExcitation.Value),
             LeftTopY = x1_middle,
             Width    = Convert.ToInt32(pixel_pro_meter * _parameters.tok_excitation),
             Height   = Convert.ToInt32(middle_desh_width)
         });
     }
     if (_parameters.tok_excitation < 0)
     {
         TokExcitationMeaningZone.Add(new CageAndRuleZone
         {
             Brush    = p_yellow,
             LeftTopX = 10 + Convert.ToInt32(pixel_pro_meter * _mineConfig.MainViewConfig.MaxTokExcitation.Value) + Convert.ToInt32(pixel_pro_meter * _parameters.tok_excitation),
             LeftTopY = x1_middle,
             Width    = Convert.ToInt32(pixel_pro_meter * _parameters.tok_excitation) * (-1),
             Height   = Convert.ToInt32(middle_desh_width)
         });
     }
     return(TokExcitationMeaningZone);
 }
        public void InitVm(Parameters parameters)
        {
            RuleDatas.Clear();
            RuleInscriptions.Clear();
            RulePointerLine.Clear();
            RulePointer.Clear();
            RuleFillPointer.Clear();
            TokExcitationMeaningZone.Clear();

            _parameters = parameters;
            SetLength();
            SetPointsValue();
            SolveTokExcitation();
        }