/* FORM1 : Formulae for calculating masses of bodies 

						Updated: 10 February 81
*/



			% Mass per length

relates(mass_per_length,[mass,length]).



prepare(mass_per_length,Q,mass,mass(Obj,M),
		situation(Obj) ) :- ncc body1d(Obj).

prepare(mass_per_length,Q,mass,mass_per_length(Obj,Mu),
		situation(Obj) ) :- ncc body1d(Obj).



isform(mass_per_length, situation(Obj),
		M = L*Mu )
    <--	mass(Obj,M) &
	mass_per_length(Obj,Mu) &
	line_length(Obj,L).



			% Mass per area

relates(mass_per_area,[mass,area]).



prepare(mass_per_area,Q,mass,mass(Obj,M),
		situation(Obj) ) :- ncc body2d(Obj).

prepare(mass_per_area,Q,mass,mass_per_area(Obj,Mu),
		situation(Obj) ) :- ncc body2d(Obj).



isform(mass_per_area, situation(Obj),
		M = A*Mu )
    <--	mass(Obj,M) &
	mass_per_area(Obj,Mu) &
	area(Obj,A).


			% Mass per volume

relates(mass_per_vol,[mass,vol]).



prepare(mass_per_vol,Q,mass,mass(Obj,M),
		situation(Obj) ) :- ncc body3d(Obj).

prepare(mass_per_vol,Q,mass,mass_per_vol(Obj,Mu),
		situation(Obj) ) :- ncc body3d(Obj).



isform(mass_per_vol, situation(Obj),
		M = V*Mu )
    <--	mass(Obj,M) &
	mass_per_vol(Obj,Mu) &
	vol(Obj,V).



