function rgb = hallway_view(T, nf)
close all

%          1      2      3      4      5      6      7      8
vcube = [ 0 0 0; 1 0 0; 1 1 0; 0 1 0; 0 0 1; 1 0 1; 1 1 1; 0 1 1]';
idx = [1 2 3 4 1 5 6 7 8 5 6 2 3 7 8 4];
vert(1,:) = vcube(1,:)*6;  % hallway width 6 ft.
vert(2,:) = vcube(2,:)*90; % length 90 ft.
vert(3,:) = vcube(3,:)*8;  % height 8 ft.

x = vert(1,idx);
y = vert(2,idx);
z = vert(3,idx);
plot3(x,y,z,'k-');
hold on
% origin
plot3(0,0,0,'yo','LineWidth',4);
xdata1 = [0 6; 0 6];
ydata1 = [0 0; 0 0];
zdata1 = [0 0; 8 8];
cream = [0.85 0.71 0.58];
dkbrown = [0.25 0.2 0.1]/2;
dht = 0.75;
h(1) = surface(xdata1,ydata1,zdata1,'FaceColor',cream,'EdgeColor','k');
xdata1 = [0 0; 0 0];
ydata1 = [0 90; 0 90];
zdata1 = [dht dht; 8 8];
h(2) = surface(xdata1,ydata1,zdata1,'FaceColor',cream,'EdgeColor','k');
zdata1 = [0 0; dht dht];
h(3) = surface(xdata1,ydata1,zdata1,'FaceColor',dkbrown,'EdgeColor','k');
xdata1 = [6 6; 6 6];
h(4) = surface(xdata1,ydata1,zdata1,'FaceColor',dkbrown,'EdgeColor','k');
zdata1 = [ dht dht; 8 8];
h(5) = surface(xdata1,ydata1,zdata1,'FaceColor',cream,'EdgeColor','k');

xdata1 = [0 6; 0 6];
ydata1 = [0 0; 90 90];
zdata1 = [8 8; 8 8];
h(6) = surface(xdata1,ydata1,zdata1,'FaceColor',[0.9 0.9 0.9],'EdgeColor','k');
zdata1 = [0 0; 0 0];
h(7) = surface(xdata1,ydata1,zdata1,'FaceColor',[0.3 0.4 0.3],'EdgeColor','k');

ht = target_board();
% Create group object and parent surfaces
t1 = hgtransform('Parent',gca);
set(ht,'Parent',t1);
set(t1,'Matrix',T);

% replicate target
% t2 = hgtransform('Parent',gca);
% h2 = copyobj(ht,t2);
% Txy = makehgtform('Translate',[3 7 0]);
% set(t2,'Matrix',Txy*Rz);

% plot3([2 2]+(10.5/12),[6 8],[0.05 0.05],'y','LineWidth',2);
% plot3([2 2 4 4 2],[8 6 6 8 8],[0 0 0 0 0],'b','LineWidth',2);

hold off

campos([3 15 3]);
camtarget([3 0 2]);
camup([0 0 1]);
camproj('perspective');
camva(40);
set(gcf,'renderer','zbuffer')
axis equal
axis off
NPIX = 640;
set(gcf,'Position',[100 100 NPIX NPIX]);
set(gca,'Position',[0 0 1 1]);
str = 'DataAspectRatio';
% fprintf('%s: %g %g %g\n',str,get(gca,str));
%hold off
arrows;
f = getframe(gcf);
rgb = f.cdata;
filename = ['image_' int2str(nf) '.jpg'];
imwrite(rgb,filename);