Package barnes_hut
Class BHTree
java.lang.Object
barnes_hut.BHTree
public class BHTree
extends java.lang.Object
Représente un noeud-arbre à huit branches de l'algorithme de Barnes-Hut.
-
Field Summary
Fields Modifier and Type Field Description private GenericObject
body
Correspond à un corps.private Octal
box
Correspond au noeud/boîte associé à ce noeud-arbre.private CenterOfMass
COM
Correspond au centre de gravité (centre de la masse) du noeud-arbre.private BHTree
NEB
Correspond au sous-arbre placé au Nord-Est Arrière.private BHTree
NEF
Correspond au sous-arbre placé au Nord-Est Avant.private BHTree
NWB
Correspond au sous-arbre placé au Nord-Ouest Arrière.private BHTree
NWF
Correspond au sous-arbre placé au Nord-Ouest Avant.private BHTree
SEB
Correspond au sous-arbre placé au Sud-Est Arrière.private BHTree
SEF
Correspond au sous-arbre placé au Sud-Est Avant.private BHTree
SWB
Correspond au sous-arbre placé au Sud-Ouest Arrière.private BHTree
SWF
Correspond au sous-arbre placé au Sud-Ouest Avant.private double
THETA
Correspond à une valeur permettant la vérification de la distance d'un objet au centre de gravité du noeud-arbre. -
Constructor Summary
-
Method Summary
Modifier and Type Method Description boolean
boxDivided()
Permet de vérifier si le noeud-arbre est divisé ou non.private void
divideBox()
Permet de créer les huit fils pour le noeud-arbre.Octal
getBox()
Permet de récupérer la boite liée au noeud de l'arbre.double
getTheta()
Permet de récupérer la valeur actuelle du Théta.void
insertion(GenericObject bodyToInsert)
Permet d'insérer un corps dans le noeud-arbre.private void
putBodyInBHTree(GenericObject bodyToInsert)
Permet d'insérer un corps dans les sous-arbres du noeud-arbre actuel.void
setTheta(double newTheta)
Permet de remplacer la valeur du Théta.java.lang.String
toString()
void
updateForceAboutObject(GenericObject bodyToUpdate)
Permet de mettre à jour les forces exercées sur l'objet par le centre de gravité.
-
Field Details
-
THETA
private double THETACorrespond à une valeur permettant la vérification de la distance d'un objet au centre de gravité du noeud-arbre. -
body
Correspond à un corps. Si l'attribut est à null, alors il n'y a pas de corps stocké et donc le noeud-arbre n'est pas une feuille. Sinon, le noeud-arbre est une feuille et on stocke le corps associé à cette feuille. -
COM
Correspond au centre de gravité (centre de la masse) du noeud-arbre. -
box
Correspond au noeud/boîte associé à ce noeud-arbre. -
NWF
Correspond au sous-arbre placé au Nord-Ouest Avant. -
NWB
Correspond au sous-arbre placé au Nord-Ouest Arrière. -
NEF
Correspond au sous-arbre placé au Nord-Est Avant. -
NEB
Correspond au sous-arbre placé au Nord-Est Arrière. -
SWF
Correspond au sous-arbre placé au Sud-Ouest Avant. -
SWB
Correspond au sous-arbre placé au Sud-Ouest Arrière. -
SEF
Correspond au sous-arbre placé au Sud-Est Avant. -
SEB
Correspond au sous-arbre placé au Sud-Est Arrière.
-
-
Constructor Details
-
Method Details
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
getBox
Permet de récupérer la boite liée au noeud de l'arbre.- Returns:
- Boite
-
getTheta
public double getTheta()Permet de récupérer la valeur actuelle du Théta.- Returns:
- Valeur du Théta
-
setTheta
public void setTheta(double newTheta)Permet de remplacer la valeur du Théta.- Parameters:
newTheta
- Nouvelle valeur pour le Théta
-
boxDivided
public boolean boxDivided()Permet de vérifier si le noeud-arbre est divisé ou non.- Returns:
- Booléen : true s'il est divisé, false sinon.
-
insertion
Permet d'insérer un corps dans le noeud-arbre.- Parameters:
bodyToInsert
- Corps à insérer
-
putBodyInBHTree
Permet d'insérer un corps dans les sous-arbres du noeud-arbre actuel.- Parameters:
bodyToInsert
- Corps à insérer
-
divideBox
private void divideBox()Permet de créer les huit fils pour le noeud-arbre. -
updateForceAboutObject
Permet de mettre à jour les forces exercées sur l'objet par le centre de gravité.- Parameters:
bodyToUpdate
- Corps à mettre à jour
-