//---------------------------------------------------------------------------
#ifndef Draw_RSU_FH
#define Draw_RSU_FH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include <ComCtrls.hpp>
#include <jpeg.hpp>
#include <Vcl.Buttons.hpp>
#include "GArrow.h"
#include "Data_Gen.h"
#include <Vcl.CheckLst.hpp>
#include "MultiSupportBeam.h"



#define WPen 1
#define RadMoment   40

//---------------------------------------------------------------------------
class TDraw_RSU_Frame : public TFrame
{
__published:	// IDE-managed Components
	TImage *Image1;
	TGroupBox *GroupBox_q_bal;
	TCheckBox *CheckBox_Side;
	TCheckBox *CheckBox_Centr;
	TCheckListBox *CheckListBox_Show;
	TLabel *Label1;
	TCheckBox *CheckBox_RealScale;
	void __fastcall Draw_beam0(bool flag_sign, bool flag_sysc);
	void __fastcall Draw_load();
	// Штриховка
	void __fastcall Shtrih(TPoint *points, float s_s, float mx, float my);
	void __fastcall CheckBox_CentrClick(TObject *Sender);
	void __fastcall CheckBox_SideClick(TObject *Sender);
	void __fastcall Draw_load_balka(int k_zagr, int length_q, BeamRegion *Aq, int length_N, BeamRegion *AN,
									int length_loads, Load *Aloads, int length_constr, Constraint *Aconstr,
									int *index, double *b_);
	void __fastcall Draw_load_rack(int k_zagr, int length_q, BeamRegion *Aq, int length_N, BeamRegion *AN,
										 int length_loads, Load *Aloads, int length_constr, Constraint *Aconstr,
										 double *exc_N, double *exc_L);


private:	// User declarations
public:		// User declarations
        __fastcall TDraw_RSU_Frame(TComponent* Owner);
	double L_beam;
	double H_beam;
	double B_beam;
	double plate_width;
	double plate_thick;
	double index_composed;
	double plate_kf;
	double Length_beam;  // Длина балки, заданная в BalkaLoad
	double Len_XY;       // Шаг раскреплений, заданный в BalkaLoad
	double Step_up;      // Шаг раскреплений верхнего пояса, заданный в BalkaLoad
	double Step_down;    // Шаг раскреплений нижнего пояса, заданный в BalkaLoad

	double Length_rack;    // Длина стойки, заданная в RackLoad
	int    N_part;          // Количество участков стойки
	int    index_TY_up;    // флаг раскрепления вверху стойки
	double Length_part[100]; // Длины участков
	double Len_XY_rack;    // Шаг раскреплений, заданный в RackLoad
	double Step_up_rack;   // Шаг раскреплений верхнего пояса, заданный в RackLoad
	double Step_comp; // Шаг раскреплений нижнего пояса, заданный в RackLoad

	int  form_profil;
	int  index_profil;
	int type_profil;
	double loads[6];
	double q_bal;
	double Mx_plus;
	double Qy_plus;
	int index_Qy;  // 2 - ко всему сечению; 9 - к верхнему поясу; 1 - к нижнему
	COMMON_SECT com_sect;
	TArrow CoorAx;
	double attit;
	double alfa;
    //MultiSupportBeam *beam_mod;


};
//---------------------------------------------------------------------------
extern PACKAGE TDraw_RSU_Frame *Draw_RSU_Frame;
//---------------------------------------------------------------------------
#endif
