function p_e=engrenage(R,nbd,dr,h,dx,dy,dz,da,couleur)
% p_e=ENGRENAGE(R,NBD,DR,H,DX,DY,DZ,DA,COULEUR) represente un engrenage de rayon R
% avec NBD dents. DR est la hauteur d'une dent. H est la hauteur de la
% roue. DX, DY et DZ indiquent les décalages en X, Y et Z. DA est le
% déphasage au départ (angle). COULEUR est un entier correspondant à une
% couleur.

% calcul du pas
p=2*pi/nbd;

x=[];
y=[];
p_e=[];
t=(0:p/5:p/2)+da;

% engrenage de côté
for nbd=1:nbd
    t1=t+(nbd*p);
    t2=t+(nbd*p)+p/2;
    ix=[R*cos(t1) (R+dr)*cos(t2)];
    iy=[R*sin(t1) (R+dr)*sin(t2)];
    x=[x, ix];
    y=[y, iy];
    xx=ix';
    yy=iy';
    i=surface([xx, xx]+dx,[yy, yy]+dy,[zeros(size(xx)), h*ones(size(xx))]+dz,...
        couleur.*ones(size(xx,1),2));
    p_e=[p_e i];
end

% dessus
i=patch('XData',x+dx,'YData',y+dy,'ZData',zeros(size(x))-0.02+dz,...
    'CData',couleur,'Facecolor','Flat');
p_e=[p_e i];

% dessous
i=patch('XData',x+dx,'YData',y+dy,'ZData',h*ones(size(x))+0.02+dz,...
    'CData',couleur,'Facecolor','Flat');
p_e=[p_e i];



