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

    Constructors 
    Constructor Description
    BHTree​(Octal box)
    Constructeur du noeud-arbre.
    BHTree​(Octal box, double theta)
    Constructeur du noeud-arbre.
  • 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é.

    Methods inherited from class java.lang.Object

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

    • THETA

      private double THETA
      Correspond à une valeur permettant la vérification de la distance d'un objet au centre de gravité du noeud-arbre.
    • body

      private GenericObject 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

      private CenterOfMass COM
      Correspond au centre de gravité (centre de la masse) du noeud-arbre.
    • box

      private Octal box
      Correspond au noeud/boîte associé à ce noeud-arbre.
    • NWF

      private BHTree NWF
      Correspond au sous-arbre placé au Nord-Ouest Avant.
    • NWB

      private BHTree NWB
      Correspond au sous-arbre placé au Nord-Ouest Arrière.
    • NEF

      private BHTree NEF
      Correspond au sous-arbre placé au Nord-Est Avant.
    • NEB

      private BHTree NEB
      Correspond au sous-arbre placé au Nord-Est Arrière.
    • SWF

      private BHTree SWF
      Correspond au sous-arbre placé au Sud-Ouest Avant.
    • SWB

      private BHTree SWB
      Correspond au sous-arbre placé au Sud-Ouest Arrière.
    • SEF

      private BHTree SEF
      Correspond au sous-arbre placé au Sud-Est Avant.
    • SEB

      private BHTree SEB
      Correspond au sous-arbre placé au Sud-Est Arrière.
  • Constructor Details

    • BHTree

      public BHTree​(Octal box)
      Constructeur du noeud-arbre.
      Parameters:
      box - Noeud/boîte associé au noeud-arbre
    • BHTree

      public BHTree​(Octal box, double theta)
      Constructeur du noeud-arbre.
      Parameters:
      box - Noeud/boîte associé au noeud-arbre
      theta - Valeur permettant de vérifier une distance d'un objet du centre de gravité du noeud-arbre.
  • Method Details

    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • getBox

      public Octal 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

      public void insertion​(GenericObject bodyToInsert)
      Permet d'insérer un corps dans le noeud-arbre.
      Parameters:
      bodyToInsert - Corps à insérer
    • putBodyInBHTree

      private void putBodyInBHTree​(GenericObject bodyToInsert)
      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

      public void updateForceAboutObject​(GenericObject bodyToUpdate)
      Permet de mettre à jour les forces exercées sur l'objet par le centre de gravité.
      Parameters:
      bodyToUpdate - Corps à mettre à jour