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

#ifndef Draw3D_beamH
#define Draw3D_beamH
#include "SectSelectCom_Param.h"

#define vYZ  0
#define vXZ  1
#define vXY  2
#define vISOMETR  3
#define vDIMETR   4
#define vOBLIC    5
#define vPLANE    6
#define vISO_VERT 7

#define SHIFTY  40
#define SHIFTX  80



//---------------------------------------------------------------------------
	void Draw_dvutavr_weld_plane(TImage * Image_stand, SECT_DVUTAVR *sect);
	void Draw_dvutavr(TImage * Image_stand, SECT_DVUTAVR *sect, int index_view, float len_prof, int pole, bool flag_ax, bool flag_perfor,
					  double attit, double alfa, double length_0);
	void Draw_dvutavr_plate(TImage * Image_stand, SECT_DVUTAVR *sect, int index_view, float len_prof, int pole, bool flag_ax, bool flag_perfor,
				  double attit, double alfa, double length_0, double plate_h, double plate_b);
// Рисование профиля тавра длиной len_prof*heigth в проекции index_view
	void Draw_tavr(TImage * Image_stand, SECT_TAVR *sect, int index_view, float len_prof, int pole, bool flag_ax,
				  double attit, double alfa, double length_0);
	void Draw_tavr_plate(TImage * Image_stand, SECT_TAVR *sect, int index_view, float len_prof, int pole, bool flag_ax,
				  double attit, double alfa, double length_0, double plate_h, double plate_b, int index_composed);
	// Рисование профиля сварного двутавра длиной len_prof*heigth
	void Draw_dvutavr_weld(TImage * Image_weld, SECT_DVUTAVR *sect, int index_view, float len_prof, int pole, bool flag_ax, double length_0);
	void Draw_rect_tube(TImage * Image1, COMMON_SECT *com_sect, int type_tube, int index_view, float len_prof, int pole, bool flag_ax, double length_0);
	void Draw_circular_tube(TImage * Image1, SECT_CIRC *sect, int index_view, float len_prof, int pole, bool flag_ax, double length_0);
	// Рисование системы координат
	void Draw_axes_zero(TImage *Image_Ax, int index_view, int x0, int y0);
	void Draw_side_dvut(TImage * Image_stand, TPoint *vertices1, TPoint *vertices2, int n, int m, TColor color);
	void Draw_tube(TImage * Image1, COMMON_SECT *com_sect, int type_tube, int index_view, float len_prof, int pole, bool flag_ax, double length_0);
    // Получить координаты и длину
	void Get_XY_Len(double *x0, double *y0, double *length);
    // рисование вектора силы
	void  draw_load(TImage *Image1, double *x0, double *x1, double *x2, double value, double SignLoad, double Scale, bool flag_sign);
	// рисование momenta
	void  draw_moment(TImage *Image1, double coor_g[][3], double value, bool flag_sign);
	void  draw_load_ar(TImage *Image1, double coor_g[][3], double value, bool flag_sign, int index_ax, int index_brush);
	// Рисование двутавра в косоугольной проекции
	void Draw_dvutavr_oblic(TImage * Image_stand, SECT_DVUTAVR *sect);
	void Draw_dvutavr_weld_oblic(TImage * Image_stand, SECT_DVUTAVR *sect);
	//-------------------------------------------------------------------------------
	// Рисование профилей с размерами
    void  draw_dvutavr(TImage * Image1,SECT_DVUTAVR *sect);
	void  draw_dvutavr_comp(TImage * Image_stand, SECT_DVUTAVR *sect, double width, double thick, int index_comp);
	void  draw_axes(TImage *Image_Ax);
	void  draw_axes_zero(TImage *Image_Ax, int x0, int y0);
	void  draw_square_tube(TImage * Image1, SECT_SQUARE *sect);
	void  draw_rect_tube(TImage * Image1, SECT_RECT *sect);
	void  draw_circular_tube(TImage * Image1, SECT_CIRC *sect);
	void draw_dvutavr_perfor(TImage * Image_stand, SECT_DVUTAVR *sect, double h1, float scale, bool flag_draw_size);
	void draw_profil_perfor(TImage * Image_stand, SECT_DVUTAVR *sect, double h1, double a_, double b_,
	                        double s_, double c_, double alfa, float scale, bool flag_draw_size);
	float draw_profil_perfor_scale(TImage * Image_stand, TImage * Image_balka, SECT_DVUTAVR *sect, double h1, double s_, double c_);
	// рисование размерной линии
	void  draw_dim(TImage *Image1, double coor_g[][3], double value);
	// рисование стандартного тавра
    void draw_tavr(TImage * Image_stand, SECT_TAVR *sect);
    void draw_tavr_comp(TImage * Image_stand, SECT_TAVR *sect, double width, double thick, int index_comp);





#endif
