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

#ifndef Dvutavr_Choice_AlgH
#define Dvutavr_Choice_AlgH
#include "Data_Gen.h"

#define  CHOISE_OK                 0
#define  CHOISE_NULL_MZ            1
#define  CHOISE_EXCENTR_COMPRESS   2
#define  CHOISE_BREAK_LIMIT        3
#define  CHOISE_TENSION            4

typedef struct _param_chosen_sect {  // параметры выбора сечений
   double gamma_c;
   double lambda0;          // начальная гибкость
   double size_a;           // расстояние между поперечными ребрами
   double delta_lambda;     //
   double delta_w;          //
   double delta_f;          //
   double round_h;
   double round_thick;
   double round_width;
   double min_tpol;
   double max_tpol;
   double min_tsten;
   double max_tsten;
   double min_bpol;
   double max_bpol;
   double min_hsten;
   double max_hsten;
   bool   flag_minimax;    // 1 - учитывать ограничения на размеры сечения
   bool   flag_gib;
   double dummy[9];
}  PARAM_CHOSEN_SECT;


//---------------------------------------------------------------------------
int Dvutavr_Choice_Alg(PARAM_CHOSEN_SECT *Param_chosen_sect, SECT_DVUTAVR *sect, double *mat_force,
								   bool *Check_dvut, int index_SimmSect, bool check_equWidth, bool check_min_sten);
void   Dvutavr_OutControl(int rc);

#endif
