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

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

typedef struct _param_ {   // Геометрические параметры перфорированного двутаврового сечения
	double h1;  // расстояние от центра исходного двутавра до разреза
	double h2;  // расстояние от края полки до разреза - высота тавра
	double yt;	// Расстояние от центальной оси исходного двутавра до ц.т. сечения тавра - yt
	double Jxt; // Момент инерции сечения тавра
	double At;  // Площадь поперечного сечения тавра
	double hp;  // Высота сквозного двутвра
	double Jx;  // Момент инерции сечения c отвертием, полученного сквозного двутавра
	double Wmax_tavr;  // Максимальный момент сопротивления тавра
	double Wmin_tavr;  // Минимальный момент сопротивления тавра
}  PARAM_PERFOR;
//---------------------------------------------------------------------------
void Get_param_sect(SECT_DVUTAVR* section, GEOM_PARAM_SECT *param_sect);
void Get_param_sect_comm(int type, COMMON_SECT* section, GEOM_PARAM_SECT *param_sect);
void Get_param_sect_pop(SECT_DVUTAVR* section, double t_pop, double pos_pop, GEOM_PARAM_SECT *param_sect);

// Вычислить геометрические параметры двутаврового сечения с учетом ослабления отверстиями
void Get_param_sect_netto(SECT_DVUTAVR *section, GEOM_PARAM_SECT *param_sect, double *diametr, int *num_hole,
                          double *space, double *step);
                          
void  Put_vecd(int type_section, SECT_DVUTAVR *sect_e, COMMON_SECT *sect_comm, int local, int num_material, int index_weight, bool flag_reverse,
               double size_e, double uklon_h, double *vecd) ;

// Преобразовать жесткости Рипак к параметрам обобщенного сечения Гепард
int  StiffBeamToCommSect(double *gt, COMMON_SECT *sect_comm, int *type_sect, int index_sect, double *h_sten);
// Вычислить геометрические параметры произвольного сечения по ссылке на двутавровое
void Get_param_sect_gener(int type_sect, SECT_DVUTAVR* section, GEOM_PARAM_SECT *param_sect);
double Get_thick_sect(int type_sect, COMMON_SECT *com_sect);
void Get_param_sect_perfor(SECT_DVUTAVR *section, GEOM_PARAM_SECT *param_sect, double h2, PARAM_PERFOR *param_perfor);
void Get_param_sect_composed(int type, COMMON_SECT* section, double width, double thick, GEOM_PARAM_SECT *param_sect, int index_comp);




#endif
 