- | ## Class Line Shape Line La classe Line permet de manipuler des lignes de manière uniforme sur Artichow. Une ligne est composée de deux Point. Les classes suivantes dérivent de Line : Vector Retourner voir la liste de toutes les classes ## Méthodes et propriétés protected Point $p1 protected Point $p2 private float $slope private float $origin public __construct(Point $p1, Point $p2, int $style := Line::SOLID, int $thickness := 1) public static build(int $x1, int $y1, int $x2, int $y2) public setX(int $x1, int $x2) public setY(int $y1, int $y2) public setLocation(Point $p1, Point $p2) public array getLocation() public float getSize() public float getSlope() public float getOrigin() public array getEquation() public float getXFrom(float $y) public float getYFrom(float $x) public bool isPoint() public bool isHorizontal() public bool isVertical() public bool isTopToBottom(Polygon $polygon) public bool isLeftToRight(Polygon $polygon) ## Documentation protected Point $p1 Le premier point de la ligne. Remonter protected Point $p2 Le second point de la ligne. Remonter private float $slope La pente (ou coefficient directeur) de la droite. Remonter private float $origin La valeur de l'ordonnée à l'origine de la droite. Remonter public __construct(Point $p1, Point $p2, int $style := Line::SOLID, int $thickness := 1) Déclare une nouvelle ligne des points $p1 à $p2. La ligne est de style $style (Line::SOLID pour une ligne continue, Line::DOTTED pour une ligne pointillée ou encore Line::DASHED) et d'épaisseur $thickness. Remonter public static build(int $x1, int $y1, int $x2, int $y2) Construit une ligne à partir des coordonnées ($x1, $y1) et ($x2, $y2) Remonter public setX(int $x1, int $x2) Change les coordonnées X des deux points de la ligne pour $x1 et $x2. Remonter public setY(int $y1, int $y2) Change les coordonnées Y des deux points de la ligne pour $y1 et $y2. Remonter public setLocation(Point $p1, Point $p2) Change l'emplacement de la ligne pour les points $p1 et $p2 passés en paramètre. Remonter public array getLocation() Retourne la position de la ligne dans un tableau à deux valeurs.
      <?php
      $line = new Line(new Point(1, 2), new Point(3, 4));
      list($p1, $p2) = $line->getLocation();
      // $p1 == new Point(1, 2)
      // $p2 == new Point(3, 4)
      ?>
Remonter public float getSize() Retourne la taille de la ligne en pixels. Remonter public float getSlope() Disponible depuis Artichow 1.0.9 Renvoie la valeur de la pente de la ligne. Si celle-ci est verticale, la pente vaudra NULL; si elle est horizontale, la pente vaudra 0. La valeur est calculée uniquement lorsqu'elle est demandée. Remonter public float getOrigin() Disponible depuis Artichow 1.0.9 Renvoie la valeur de l'ordonnée à l'origine. Si la ligne est verticale, l'ordonnée à l'origine vaudra NULL. La valeur est calculée uniquement lorsqu'elle est demandée. Remonter public array getEquation() Disponible depuis Artichow 1.0.9 Renvoie un tableau contenant la pente et l'ordonnée à l'origine de la ligne. Remonter public float getXFrom(float $y) Disponible depuis Artichow 1.0.9 Renvoie la valeur de l'abscisse du point d'ordonnée $y situé sur la droite portant la ligne. Si la ligne est horizontale et que $y est différent de l'ordonnée à l'origine, aucun point ne pourra être trouvé et la méthode renverra NULL. Remonter public float getYFrom(float $x) Disponible depuis Artichow 1.0.9 Renvoie la valeur de l'ordonnée du point d'abscisse $x situé sur la droite portant la ligne. Si la ligne est verticale et qu'aucun point correspondant à $x ne peut être trouvé, la méthode renverra NULL. Remonter public bool isPoint() Retourne TRUE si la ligne peut être considérée comme un point, FALSE sinon. Remonter public bool isHorizontal() Retourne TRUE si la ligne est horizontale, FALSE sinon. Remonter public bool isVertical() Retourne TRUE si la ligne est verticale, FALSE sinon. Remonter public bool isTopToBottom(Polygon $polygon) Disponible depuis Artichow 1.0.9 Renvoie TRUE si la ligne remplit toute la hauteur du rectangle encadrant le polygone $polygon, FALSE sinon. Remonter public bool isLeftToRight(Polygon $polygon) Disponible depuis Artichow 1.0.9 Renvoie TRUE si la ligne remplit toute la largeur du rectangle encadrant le polygone $polygon, FALSE sinon. Remonter |