construct_detail(initialize):-
	curr_zone(_Zone_number),
	con_load_z_name(_Zone_number),
	con_load_file_name(_Zone_number),
	con_load_zone_or_x(_Zone_number),
	con_load_zone_or_y(_Zone_number),
	con_load_zone_or_z(_Zone_number),
	con_load_geometry_type(_Zone_number),
	con_load_orientation(_Zone_number),
	focus_concept(construct_detail, construct_surf),!,
	construct_surf(initialize).

con_load_geometry_type(_Zone_number):-
	geom_type(_Zone_number,_Gtype),!,
	tell_usr(con_geometry_type, _Gtype),
	con_geometry_type(_Gtype);
	tell_usr(con_geometry_type, rec),
	con_geometry_type(rec).

con_load_z_name(_Zone_number):-
	z_name(_Zone_number,_Zname),!,
	tell_usr(con_zone_name, _Zname);
	tell_usr(con_zone_name, ' ').

con_load_file_name(_Zone_number) :-
	geometry_file(_Zone_number,_Geom_file_name),
	tell_usr(con_geom_file_name, _Geom_file_name);
	tell_usr(con_geom_file_name, ' ').

con_load_zone_or_x(_Zone_number) :-
	x_origin(_Zone_number,_X_orig),
	tell_usr(con_zone_origin_x,_X_orig);
	tell_usr(con_zone_origin_x,0).

con_load_zone_or_y(_Zone_number) :-
	y_origin(_Zone_number,_Y_orig),
	tell_usr(con_zone_origin_y,_Y_orig);
	tell_usr(con_zone_origin_y,0).

con_load_zone_or_z(_Zone_number) :-
	z_origin(_Zone_number,_Z_orig),
	tell_usr(con_zone_origin_z,_Z_orig);
	tell_usr(con_zone_origin_z, 0).

con_load_orientation(_Zone_number) :-
	z_orientation(_Zone_number,_Zone_orient),
	tell_usr(con_zone_orientation,_Zone_orient);
	tell_usr(con_zone_orientation, 0).

%%%%%%%%%%%%%%%%  REC  %%%%%%%%%%%%%%%%

con_load_zone_length(_Zone_number) :-
	z_length(_Zone_number,_Zone_length),
	ask_usr(con_zone_length,_Zone_length);
	ask_usr(con_zone_length, 0).


con_load_zone_height(_Zone_number) :-
	z_height(_Zone_number,_Zone_height),
	ask_usr(con_zone_height,_Zone_height);
	ask_usr(con_zone_height, 0).

con_load_zone_width(_Zone_number) :-
	z_width(_Zone_number,_Zone_width),
	ask_usr(con_zone_width,_Zone_width);
	ask_usr(con_zone_width, 0).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%  REG  %%%%%%%%%%%%%%%%

con_load_ceiling_ht(_Zone_number) :-
	z_ceiling_ht(_Zone_number,_Ceiling_height),
	ask_usr(con_ceiling_height,_Ceiling_height);
	ask_usr(con_ceiling_height, 0).


con_load_nu_walls(_Zone_number) :-
	z_number_walls(_Zone_number,_Number_walls),
	ask_usr(con_number_walls,_Number_walls);
	ask_usr(con_number_walls, 0).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%  GEN  %%%%%%%%%%%%%%%%

con_load_nu_vertex(_Zone_number) :-
	z_number_vertex(_Zone_number,_Number_vertex),
	ask_usr(con_number_vertex,_Number_vertex);
	ask_usr(con_number_vertex, 0).


con_load_nu_surfaces(_Zone_number) :-
	z_number_surfaces(_Zone_number,_Number_surfaces),
	ask_usr(con_number_surfaces,_Number_surfaces);
	ask_usr(con_number_surfaces, 0).

%%%%%%%%%%%%%%%%  Geometry type  %%%%%%%%%%%%%%%%	
con_geometry_type(rec):-
	curr_zone(_Zone_number),
	unask_usr(con_number_vertex),
	unask_usr(con_number_surfaces),
	unask_usr(con_ceiling_height),
	unask_usr(con_number_walls),
	con_load_zone_length(_Zone_number),
	con_load_zone_width(_Zone_number),
	con_load_zone_height(_Zone_number).

con_geometry_type(reg):-			
	curr_zone(_Zone_number),
	unask_usr(con_zone_length),
	unask_usr(con_zone_width),
	unask_usr(con_zone_height),
	unask_usr(con_number_vertex),
	unask_usr(con_number_surfaces),
	con_load_ceiling_ht(_Zone_number),
	con_load_nu_walls(_Zone_number).


con_geometry_type(gen):-			
	curr_zone(_Zone_number),
	unask_usr(zone_length),
	unask_usr(zone_width),
	unask_usr(zone_height),
	unask_usr(ceiling_height),
	unask_usr(number_walls),
	con_load_nu_vertex(_Zone_number),
	con_load_nu_surfaces(_Zone_number).
