Пример #1
0
void xburo(void)
{
static class go_rr  rek_ras;
int metkasort=0;

int nomer=0,nomer1=0;

iceb_u_str titl;
iceb_u_str zagolovok;
iceb_u_spisok punkt_m;

titl.plus(gettext("Распечатать отчеты"));

zagolovok.plus(gettext("Распечатать отчеты"));

punkt_m.plus(gettext("Расчет оборотного баланса и главной книги"));//0
punkt_m.plus(gettext("Расчет журнала-ордера по счету"));//1
punkt_m.plus(gettext("Расчет сальдо по всем контрагентам"));//2
punkt_m.plus(gettext("Расчет сальдо по контрагенту"));//3
punkt_m.plus(gettext("Распечатать список лет за которые введена информация"));//4
punkt_m.plus(gettext("Расчет оборотного баланса по забалансовым счетам"));//5
punkt_m.plus(gettext("Распечатать документы для перечисления на карт-счета"));//6
punkt_m.plus(gettext("Распечатать отчёт по комментариям"));//7
punkt_m.plus(gettext("Расчёт шахматки"));//8
punkt_m.plus(gettext("Расчёт по заданным спискам дебетовых и кредитовых счетов"));//9
punkt_m.plus(gettext("Расчёт распределения административных затрат на доходы"));//10
punkt_m.plus(gettext("Расчёт видов затрат по элементам"));//11
punkt_m.plus(gettext("Расчёт по спискам групп контрагентов"));//12
punkt_m.plus(gettext("Расчёт валовых доходов и затрат"));//13
punkt_m.plus(gettext("Расчёт акта сверки по группе контрагента"));//14
punkt_m.plus(gettext("Проверка согласованности данных в подсистемах"));//15

while(nomer >= 0)
 {

  nomer=iceb_menu_mv(&titl,&zagolovok,&punkt_m,nomer,NULL);
  switch (nomer)
   {
    case -1:
      return;

    case 0:
      glkniw();
      break;
        
      break;

    case 1:
      if(go_m(&rek_ras) != 0)
       break;
      if(rek_ras.saldo != 3)  //Свернутое сальдо
       {
        if(rek_ras.stat == 0)
         {
          if(gosssw_r(&rek_ras,NULL) == 0)
            iceb_rabfil(&rek_ras.imaf,&rek_ras.naimf,"",0,NULL);

         }
        if(rek_ras.stat == 1)
          go_ss_nbs(&rek_ras);

       }
      else  // Развернутое сальдо
       {
        if(rek_ras.stat == 0)
         {
          nomer1=vibor_sr();
          if(nomer1 == 0)
           {
            if((metkasort=vibor_sosrt()) >= 0)
              if(gosrsw_r(&rek_ras,metkasort,NULL) == 0)
               iceb_rabfil(&rek_ras.imaf,&rek_ras.naimf,"",0,NULL);
           }
          if(nomer1 == 1)
            if((metkasort=vibor_sosrt()) >= 0)
              if(go_srk(&rek_ras,metkasort) == 0)
                   iceb_rabfil(&rek_ras.imaf,&rek_ras.naimf,"",0,NULL);

         }
        if(rek_ras.stat == 1)
            go_srv_nbs(&rek_ras);
       }
                    
      break;

    case 2:
      rspvk_m();
      break;

    case 3:
      iceb_salorok("",NULL);
      break;

    case 4:
      rbd(1);
      break;

    case 5:
      glkni_nbs_m();
      break;

    case 6:
      i_xbu_vibor_rr();
      break;

    case 7:
      buhkomw();
      break;
  
    case 8:
      buhhahw();
      break;

    case 9:
      buhsdkrw();
      break;

    case 10:
      buhrpznpw();
      break;
  
    case 11:
      buhrpzw();
      break;

    case 12:
      buhgspw();
      break;

    case 13:
      buhvdzw();
      break;

    case 14:
      buhspkw();
      break;

    case 15:
      buhpsdw();
      break;
   }
   
 }
}
bool TestANMProteinRRT::test_expansion(){
		//------------------------------------
		// Load a 3-residue peptide of alanine
		//------------------------------------
		System system;
		ComplexBuilder complexBuilder;
		Complex * complex = complexBuilder.build("src/Molecules/Test/Data/ProteinResiduesSamples/plop_ala.pdb");
		Solvent* solvent = SolventGenerator::createSolvent(*complex,false);

		// Get the number of CA
		vector<Atom*> c_alphas = complex->getAtomsWithName(AtomNames::CA);
		unsigned int c_alphas_size = c_alphas.size();

		// Backup old points
		vector<Point> old_points;
		for(unsigned int i =0; i < c_alphas.size();++i){
			old_points.push_back(c_alphas[i]->toPoint());
		}

		//-------------------------------------

		//------------------------------------------
		//Create the Minimizer and ANM Calculator
		//------------------------------------------
		PathPlanning::Tools::ANMObjectsPackage pack(&system, complex,solvent);
		pack.populateANMObjects("src/PathPlanning/RRT/Variations/ANMRRT/ANMProteinRRT/Test/Data/anm_config.conf");
		//---------------------------

		//----------------------------
		// Doing the anm calculation step is mandatory (to compute the eigenvetors)
		//----------------------------
		// In this initial case, as the eigenvector computation and direction computation are coupled
		vector<double> final_weights;
		final_weights.push_back(0.8);
		final_weights.push_back(-0.45);
		final_weights.push_back(0.73);
		pack.anmCalculator->getParameters()->setWeights(final_weights);
		pack.anmCalculator->compute(pack.complex);

		//---------------------------
		// Create a solver
		//---------------------------
		Solver solver(pack.anmCalculator->getParameters()->getNumbermodes(), c_alphas_size*3);
		//solver.setDistModificator(0.74);
		//---------------------------


		//---------------------------
		// Create a boundaries object
		//---------------------------
		RangedBoundDescriptor rbd(-1,1,c_alphas_size*3);
		rbd.setBoundaries(NULL);
		//----------------------------

		//---------------------------
		// Create start and end nodes
		//---------------------------
		vector<double> initial_weights;
		initial_weights.push_back(0);
		initial_weights.push_back(0);
		initial_weights.push_back(0);

		ANMProteinConfiguration* initial_conf = new ANMProteinConfiguration(complex, pack.anmCalculator, &rbd, initial_weights);
		ANMProteinConfiguration* final_conf = 	new ANMProteinConfiguration(complex, pack.anmCalculator, &rbd,final_weights);

		//---------------------------

		//------------------------------------------
		//Create Node Expansor
		//------------------------------------------
		RRTNode initial_node;
		RRTNode objective_node;
		initial_node.setDataP(initial_conf);
		objective_node.setDataP(final_conf);

		ANMProteinRRTExpansionAlgorithm expansor(&pack,&solver);

		RRTNode* expanded = expansor.expand(&initial_node,&objective_node);

		ANMProteinConfiguration* expanded_conf = (ANMProteinConfiguration*)(expanded->getData());

		vector<double>& x =  expanded_conf->getWeights();
		for(unsigned int i =0; i < x.size();++i){
			cout<<x[i]<<endl;
		}
		//------------------------------------------

		// Compare configurations
		delete expanded;

		return true;
}