/* Define transformation Mtrans from _mt variables */

local "i";

Mtrans "CLEAR";
if(_mtFlag){Mtrans "PUSH";}

if(_mtFlag and 4)
{
	i = 0;
	for(3)
	{
	  if(0.0 != _mtRot[i])
	  {
		_mtMat[_mti33 i i] =
			_mtMat[_mti33 (i + 1) (i + 1)] = cos _mtRot[i] * _d2r;
		_mtMat[_mti33 i (i + 1)] =
			-(_mtMat[_mti33 (i + 1) i] = sin _mtRot[i] * _d2r);
		_mtMat[_mti33 i (i + 2)] =
			_mtMat[_mti33 (i + 1) (i + 2)] =
			_mtMat[_mti33 (i + 2) i] =
			_mtMat[_mti33 (i + 2) (i + 1)] = 0.0;
		_mtMat[_mti33 (i + 2) (i + 2)] = 1.0;
		Mtrans "PUSH";
		Mtrans "MAT" _mtMat;
	  }
	  i = i + 1;
	}
}

if(_mtFlag and 2)
{
	Mtrans "FAC" (_mtFac[0]) (_mtFac[1]) (_mtFac[2]);
}

if(_mtFlag and 1)
{
	Mtrans "OFS" (_mtOfs[0]) (_mtOfs[1]) (_mtOfs[2]);
}
