geometry(initialize) :- %% now addressing geometry specification cpts
	current_zone(1),
	feedback(geometry_sel).

feedback(geometry_sel, novice) :-
	chat_usr([
		'This button switches the focus of discussion to',
		'the geometric and material properties of this',
		'building.  Firstly, the geometry must be given.',
		'Several alternative input mechanisms are provided',
		'']).

current_zone(_Zone_number):-	%% for an existing zone
	zone_num(_Zone_number),
	asserta(status(old)),
	asserta(curr_zone(_Zone_number)),
	uset(curr_zone,_Zone_number),
	b_g_form_fill(off).




current_zone(_Zone_number):-	%% for a new zone
	asserta(status(new)),
	assert(zone_num(_Zone_number)),
	asserta(curr_zone(_Zone_number)),
	uset(curr_zone,_Zone_number),
	uset(zone_num,_Zone_number),
	b_g_form_fill(off).



b_g_form_fill(on):-
	tell_usr(b_g_draw,off),
	tell_usr(b_g_cad_file,off),
	focus_concept(geometry, g_form_fill),
	g_form_fill(initialize).

b_g_form_fill(off):-
	defocus_concept(geometry),
	tell_usr(b_g_form_fill,off).

b_g_draw(on) :-		/* user wants drafting package */
	tell_usr(b_g_form_fill,off),
	tell_usr(b_g_cad_file,off),
	focus_concept(geometry, g_draw),
	g_draw(initialize).

b_g_draw(off) :-		/* user wants drafting package */
	defocus_concept(geometry),
	tell_usr(b_g_draw,off).

b_g_cad_file(on) :-		/*user has geometry in file*/
	tell_usr(b_g_form_fill,off),
	tell_usr(b_g_draw,off),
	focus_concept(geometry, g_cad_file),
	g_cad_file(initialize).

b_g_cad_file(off) :-		/*user has geometry in file*/
	defocus_concept(geometry),
	tell_usr(b_g_cad_file,off).

