bonhomeExamJanvier/Bonhomme02/Pied.cs

74 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Bonhomme02
{
class Pied : Peau
{
/* |Jambe|
* CIG | | CID
* #---|-----|---------#
* | | | | /\ | ------> & <------ = longuer
* |<-----#----------->| \/ & /\ = epaisseur
* | | | doigt est à 0 °R et Talon π °R ou 0 °R si la longueur est négative
* #------#------------# doigt est la base
* Talon doigt
* CSG CSD
*
*/
Vecteur talon;
public Pied() : base()
{
}
public Pied(PictureBox hebergeur) : base(hebergeur)
{
}
public Pied(PictureBox hebergeur, double lg, double ep, double angle) : base(hebergeur, lg, ep, angle)
{
InitVecteurs(lg, ep, angle);
}
public Pied(PictureBox hebergeur, int xy) : base(hebergeur, xy)
{
}
public Pied(PictureBox hebergeur, int x, int y, double lg, double ep, double angle) : base(hebergeur, x, y, lg, ep, angle)
{
InitVecteurs(lg, ep, angle);
}
public Pied(PictureBox hebergeur, ref Peau parent, double lg, double ep, double angle) : base(hebergeur, parent.coordonnee.X, parent.Coordonnee.Y, lg, ep, angle)
{
base.parent = parent;
InitVecteurs(lg, ep, angle);
}
#region accesseur
public override Point CIG { get { return base.Coordonnee - talon + base.epaisseur; } }
public override Point CID { get { return base.Coordonnee + base.longueur + base.epaisseur; } }
public override Point CSG { get { return (base.Coordonnee - talon) - base.epaisseur; } }
public override Point CSD { get { return (base.Coordonnee + base.longueur) - base.epaisseur; } }
#endregion
#region methode
private void InitVecteurs(double lg, double ep, double angle)
{
base.longueur = new Vecteur(lg, angle);
base.epaisseur = new Vecteur(ep, ref base.longueur, true);
talon = new Vecteur(lg / 3, angle);
}
#endregion
}
}