Class Arc

  • All Implemented Interfaces:
    java.io.Serializable

    public class Arc
    extends java.lang.Object
    implements java.io.Serializable
    Classe pour créer l'objet Arc.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Arc​(Place place)
      Constructeur d'arc utilisé dans la classe Transition.
      Arc​(Place place, int poids)
      Constructeur d'arc
      Arc​(Place place, int poids, double xOrigin, double yOrigin, boolean placeToTransition, Transition transition)
      Constructeur d'arc utilisé dans DrawPanel lorsque l'utilisateur clique sur la zone de dessin en ayant selectionné l'outil arc.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static double angleBetween2Lines​(java.awt.geom.Line2D.Double line1, java.awt.geom.Line2D.Double line2)
      Méthode qui permet de calculer l'angle entre deux droites.
      java.awt.geom.Path2D.Double arcHitbox​(double len)
      Méthode qui permet de créer une hitbox qui suit la courbure de l'arc.
      boolean containing​(java.awt.geom.Point2D.Double origin, int size, java.awt.geom.Point2D.Double toCompare)
      Retourne true lorsque la différence absolue entre les coordonnées du point d'origine et du point à comparer (toCompare) est inférieur à la valeur size
      boolean containsControlPoint1​(double x, double y)
      Retourne true lorsque les coordonnées de la souris sont à peu près égales aux coordonnées transformées par la transformation affine de l'arc du point de contrôle
      void draw​(java.awt.Graphics g)
      Méthode que l'on appelle dans Transition pour dessiner un arc.
      private void drawArrow​(java.awt.Graphics2D g2, double oX, double oY, double dX, double dY)
      Méthode qui permet de dessiner un arc.
      java.awt.geom.AffineTransform getAt()
      Méthode qui permet de récupérer la transformée affine de l'arc.
      Place getPlace()
      Méthode qui permet de récupérer la place liée à l'arc.
      int getPoids()
      Méthode qui permet de récupérer le poids de l'arc.
      PointControle getPointCtr1()
      Méthode qui permet de récupérer le point de controle de la courbe.
      java.awt.geom.AffineTransform getReverseAt()
      Méthode qui permet de récupérer la transformée affin inverse de l'arc.
      Transition getTransition()
      Méthode qui permet de récupérer la transition liée à l'arc.
      boolean isPlaceToTransition()
      Méthode qui permet de savoir si un arc est dans le sens place -> transition.
      void setPlace​(Place place)
      Méthode qui permet de donner/modifier la place liée à l'arc.
      void setPoids​(int poids)
      Méthode qui permet de donner/modifier le poids d'un arc.
      java.lang.String toString()
      Méthode qui permet d'afficher les caractéristiques de l'arc : {place,poids}.
      void updatePosition​(double x, double y)
      Méthode qui permet de mettre à jour les coordonnées de l'arc.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • place

        public Place place
      • poids

        private int poids
      • placeToTransition

        private final boolean placeToTransition
      • forme

        public java.awt.geom.Line2D.Double forme
      • courbe

        public java.awt.geom.QuadCurve2D.Double courbe
      • at

        public java.awt.geom.AffineTransform at
      • reverse

        public java.awt.geom.AffineTransform reverse
      • hitbox

        public java.awt.geom.Path2D.Double hitbox
      • arrowHead

        public java.awt.geom.Path2D arrowHead
    • Constructor Detail

      • Arc

        public Arc​(Place place,
                   int poids,
                   double xOrigin,
                   double yOrigin,
                   boolean placeToTransition,
                   Transition transition)
        Constructeur d'arc utilisé dans DrawPanel lorsque l'utilisateur clique sur la zone de dessin en ayant selectionné l'outil arc.
        Parameters:
        place - : Place.
        poids - : poids de l'arc, par défaut 1.
        xOrigin - : coordonnée x de l'origine de l'arc.
        yOrigin - : coordonnée y de l'origine de l'arc.
        placeToTransition - : booléen qui indique si l'arc est dans le sens place ► transition.
        transition - : Transition.
      • Arc

        public Arc​(Place place,
                   int poids)
        Constructeur d'arc
        Parameters:
        place - : Place.
        poids - : poids de l'arc.
      • Arc

        public Arc​(Place place)
        Constructeur d'arc utilisé dans la classe Transition.
        Parameters:
        place - : Place.
    • Method Detail

      • getPlace

        public Place getPlace()
        Méthode qui permet de récupérer la place liée à l'arc.
        Returns:
        place.
      • getTransition

        public Transition getTransition()
        Méthode qui permet de récupérer la transition liée à l'arc.
        Returns:
        transition
      • isPlaceToTransition

        public boolean isPlaceToTransition()
        Méthode qui permet de savoir si un arc est dans le sens place -> transition.
        Returns:
        Vrai ou Faux.
      • getPoids

        public int getPoids()
        Méthode qui permet de récupérer le poids de l'arc.
        Returns:
        poids.
      • setPlace

        public void setPlace​(Place place)
        Méthode qui permet de donner/modifier la place liée à l'arc.
        Parameters:
        place - : Place.
      • setPoids

        public void setPoids​(int poids)
        Méthode qui permet de donner/modifier le poids d'un arc.
        Parameters:
        poids - Poids de l'arc
      • toString

        public java.lang.String toString()
        Méthode qui permet d'afficher les caractéristiques de l'arc : {place,poids}.
        Overrides:
        toString in class java.lang.Object
        Returns:
        caractéristiques de l'arc.
      • drawArrow

        private void drawArrow​(java.awt.Graphics2D g2,
                               double oX,
                               double oY,
                               double dX,
                               double dY)
        Méthode qui permet de dessiner un arc.
        Parameters:
        g2 - : Graphics2D.
        oX - : coordonnée x de l'origine de l'arc
        oY - : coordonnée y de l'origine de l'arc
        dX - : coordonnée x de la destination de l'arc
        dY - : coordonnée y de la destination de l'arc
      • angleBetween2Lines

        public static double angleBetween2Lines​(java.awt.geom.Line2D.Double line1,
                                                java.awt.geom.Line2D.Double line2)
        Méthode qui permet de calculer l'angle entre deux droites.
        Parameters:
        line1 - ligne droite entre le centre de la place et le centre de la transition.
        line2 - ligne droite entre le centre de l'objet pointé et le point de controle de la courbe (arc).
        Returns:
        angle en degré
      • draw

        public void draw​(java.awt.Graphics g)
        Méthode que l'on appelle dans Transition pour dessiner un arc.
        Parameters:
        g - : Graphics
      • arcHitbox

        public java.awt.geom.Path2D.Double arcHitbox​(double len)
        Méthode qui permet de créer une hitbox qui suit la courbure de l'arc.
        Parameters:
        len - distance entre la place et la transition.
        Returns:
        hitbox
      • containing

        public boolean containing​(java.awt.geom.Point2D.Double origin,
                                  int size,
                                  java.awt.geom.Point2D.Double toCompare)
        Retourne true lorsque la différence absolue entre les coordonnées du point d'origine et du point à comparer (toCompare) est inférieur à la valeur size
        Parameters:
        origin - Point.Double d'origine
        size - Valeur maximale de la différence des coordonnées lors de la comparaison
        toCompare - Point.Double de comparaison
        Returns:
        Booléen
      • containsControlPoint1

        public boolean containsControlPoint1​(double x,
                                             double y)
        Retourne true lorsque les coordonnées de la souris sont à peu près égales aux coordonnées transformées par la transformation affine de l'arc du point de contrôle

        Ne fonctionne pas vraiment pour l'instant

        Parameters:
        x - Coordonnée X de la souris
        y - Coordonnée Y de la souris
        Returns:
        Vrai ou Faux
      • getPointCtr1

        public PointControle getPointCtr1()
        Méthode qui permet de récupérer le point de controle de la courbe.
        Returns:
        point de controle.
      • getAt

        public java.awt.geom.AffineTransform getAt()
        Méthode qui permet de récupérer la transformée affine de l'arc.
        Returns:
        transformée affine.
      • getReverseAt

        public java.awt.geom.AffineTransform getReverseAt()
        Méthode qui permet de récupérer la transformée affin inverse de l'arc.
        Returns:
        transformée affine inverse.
      • updatePosition

        public void updatePosition​(double x,
                                   double y)
        Méthode qui permet de mettre à jour les coordonnées de l'arc.
        Parameters:
        x - : x.
        y - : y.