function UpdatePlot(p,fh,n)

axis = get(fh,'Children');
plots = get(axis,'Children');

x = p.x;
x0 = p.x0;
n_plt = 1;
for i = 1:p.n_elements
  [X Y Z] = PlotData(p,i,n);  
  set(plots(n_plt),'XData',X+x(n,1) + x0(1));
  set(plots(n_plt),'YData',Y+x(n,2) + x0(2));
  set(plots(n_plt),'ZData',Z+x(n,3) + x0(3));
  n_plt = n_plt+1;
  
  if(p.sym_planes >= 1)
  [X Y Z] = PlotData(p,i,n);  
  set(plots(n_plt),'XData',X+x(n,1) + x0(1));
  set(plots(n_plt),'YData',-Y+x(n,2) + x0(2));
  set(plots(n_plt),'ZData',Z+x(n,3) + x0(3));
  n_plt = n_plt+1;
  end
  if(p.sym_planes == 2)
  [X Y Z] = PlotData(p,i,n);  
  set(plots(n_plt),'XData',-X+x(n,1) + x0(1));
  set(plots(n_plt),'YData',Y+x(n,2) + x0(2));
  set(plots(n_plt),'ZData',Z+x(n,3) + x0(3));
  n_plt = n_plt+1;
  set(plots(n_plt),'XData',-X+x(n,1) + x0(1));
  set(plots(n_plt),'YData',-Y+x(n,2) + x0(2));
  set(plots(n_plt),'ZData',Z+x(n,3) + x0(3));
  n_plt = n_plt+1; 
  end
end