Package com.tech.app.models
Class Arc
- java.lang.Object
-
- com.tech.app.models.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
-
-
Field Summary
Fields Modifier and Type Field Description java.awt.geom.Path2D
arrowHead
java.awt.geom.AffineTransform
at
java.awt.geom.QuadCurve2D.Double
courbe
java.awt.geom.Line2D.Double
forme
java.awt.geom.Path2D.Double
hitbox
Place
place
private boolean
placeToTransition
private int
poids
private PointControle
pointCtr1
java.awt.geom.AffineTransform
reverse
private Transition
transition
-
Constructor Summary
Constructors Constructor Description Arc(Place place)
Constructeur d'arc utilisé dans la classe Transition.Arc(Place place, int poids)
Constructeur d'arcArc(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 sizeboolean
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ôlevoid
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.
-
-
-
Field Detail
-
place
public Place place
-
poids
private int poids
-
placeToTransition
private final boolean placeToTransition
-
transition
private final Transition transition
-
pointCtr1
private final PointControle pointCtr1
-
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 classjava.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'arcoY
- : coordonnée y de l'origine de l'arcdX
- : coordonnée x de la destination de l'arcdY
- : 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'originesize
- Valeur maximale de la différence des coordonnées lors de la comparaisontoCompare
- 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ôleNe fonctionne pas vraiment pour l'instant
- Parameters:
x
- Coordonnée X de la sourisy
- 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.
-
-