Package barnes_hut

Class Octal

java.lang.Object
barnes_hut.Octal

public class Octal
extends java.lang.Object
Représente un noeud pour l'arbre utilisé dans l'algorithme de Barnes-Hut. Représente aussi la boîte contenant des objets dans la simulation de Barnes-Hut.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private Vector3D center
    Correspond à la position central de la boîte.
    private Vector3D dimensions
    Correspond aux dimensions de la boîte.
    private Vector3D halfBox
    Correspond aux dimensions de la demi-boîte (évite de recalculer tout le temps).
    private Vector3D quarterBox
    Correspond aux dimensions du quart de la boîte (évite de recalculer tout le temps).
  • Constructor Summary

    Constructors 
    Constructor Description
    Octal​(Vector3D center, double width, double height, double deepness)
    Contructeur du noeud.
    Octal​(Vector3D center, Vector3D dimensions)
    Contructeur du noeud.
  • Method Summary

    Modifier and Type Method Description
    boolean contains​(double x, double y, double z)
    Permet de vérifier si une position représentant un corps se trouve ou pourrait se trouver dans la boîte.
    boolean contains​(Vector3D position)
    Permet de vérifier si une position représentant un corps se trouve ou pourrait se trouver dans la boîte.
    boolean contains​(GenericObject object)
    Permet de vérifier si un corps précis se trouve ou pourrait se trouver dans la boîte.
    Vector3D getCenter()
    Permet de récupérer le vecteur représentant le centre de la boîte.
    double getDeepness()
    Permet de récupérer seulement la profondeur de la boîte.
    Vector3D getDimensions()
    Permet de récupérer le vecteur représentant les dimensions de la boîte.
    Vector3D getHalfBox()
    Permet de récupérer les dimensions de la demi-boîte.
    double getHeight()
    Permet de récupérer seulement la hauteur de la boîte.
    Vector3D getQuarterBox()
    Permet de récupérer les dimensions du quart de la boîte.
    double getWidth()
    Permet de récupérer seulement la largeur de la boîte.
    Octal NEB()
    Permet de créer le noeud/boîte correspondant au Nord-Est Arrière du noeud/boîte actuel.
    Octal NEF()
    Permet de créer le noeud/boîte correspondant au Nord-Est Avant du noeud/boîte actuel.
    Octal NWB()
    Permet de créer le noeud/boîte correspondant au Nord-Ouest Arrière du noeud/boîte actuel.
    Octal NWF()
    Permet de créer le noeud/boîte correspondant au Nord-Ouest Avant du noeud/boîte actuel.
    Octal SEB()
    Permet de créer le noeud/boîte correspondant au Sud-Est Arrière du noeud/boîte actuel.
    Octal SEF()
    Permet de créer le noeud/boîte correspondant au Sud-Est Avant du noeud/boîte actuel.
    Octal SWB()
    Permet de créer le noeud/boîte correspondant au Sud-Ouest Arrière du noeud/boîte actuel.
    Octal SWF()
    Permet de créer le noeud/boîte correspondant au Sud-Ouest Avant du noeud/boîte actuel.
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

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

    • center

      private Vector3D center
      Correspond à la position central de la boîte.
    • dimensions

      private Vector3D dimensions
      Correspond aux dimensions de la boîte.
    • halfBox

      private Vector3D halfBox
      Correspond aux dimensions de la demi-boîte (évite de recalculer tout le temps).
    • quarterBox

      private Vector3D quarterBox
      Correspond aux dimensions du quart de la boîte (évite de recalculer tout le temps).
  • Constructor Details

    • Octal

      public Octal​(Vector3D center, double width, double height, double deepness)
      Contructeur du noeud.
      Parameters:
      center - Centre de la boîte
      width - Largeur de la boîte
      height - Hauteur de la boîte
      deepness - Profondeur de la boîte
    • Octal

      public Octal​(Vector3D center, Vector3D dimensions)
      Contructeur du noeud.
      Parameters:
      center - Centre de la boîte
      dimensions - Dimensions de la boîte
  • Method Details

    • toString

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

      public Vector3D getCenter()
      Permet de récupérer le vecteur représentant le centre de la boîte.
      Returns:
      Vecteur position du centre
    • getDimensions

      public Vector3D getDimensions()
      Permet de récupérer le vecteur représentant les dimensions de la boîte.
      Returns:
      Vecteur dimensions
    • getWidth

      public double getWidth()
      Permet de récupérer seulement la largeur de la boîte.
      Returns:
      Largeur de la boîte
    • getHeight

      public double getHeight()
      Permet de récupérer seulement la hauteur de la boîte.
      Returns:
      Hauteur de la boîte
    • getDeepness

      public double getDeepness()
      Permet de récupérer seulement la profondeur de la boîte.
      Returns:
      Profondeur de la boîte
    • getHalfBox

      public Vector3D getHalfBox()
      Permet de récupérer les dimensions de la demi-boîte.
      Returns:
      Dimensions de la demi-boîte.
    • getQuarterBox

      public Vector3D getQuarterBox()
      Permet de récupérer les dimensions du quart de la boîte.
      Returns:
      Dimensions du quart de la boîte.
    • NEF

      public Octal NEF()
      Permet de créer le noeud/boîte correspondant au Nord-Est Avant du noeud/boîte actuel.
      Returns:
      Noeud au Nord-Est Avant
    • NEB

      public Octal NEB()
      Permet de créer le noeud/boîte correspondant au Nord-Est Arrière du noeud/boîte actuel.
      Returns:
      Noeud au Nord-Est Arrière
    • NWF

      public Octal NWF()
      Permet de créer le noeud/boîte correspondant au Nord-Ouest Avant du noeud/boîte actuel.
      Returns:
      Noeud au Nord-Ouest Avant
    • NWB

      public Octal NWB()
      Permet de créer le noeud/boîte correspondant au Nord-Ouest Arrière du noeud/boîte actuel.
      Returns:
      Noeud au Nord-Ouest Arrière
    • SEF

      public Octal SEF()
      Permet de créer le noeud/boîte correspondant au Sud-Est Avant du noeud/boîte actuel.
      Returns:
      Noeud au Sud-Est Avant
    • SEB

      public Octal SEB()
      Permet de créer le noeud/boîte correspondant au Sud-Est Arrière du noeud/boîte actuel.
      Returns:
      Noeud au Sud-Est Arrière
    • SWF

      public Octal SWF()
      Permet de créer le noeud/boîte correspondant au Sud-Ouest Avant du noeud/boîte actuel.
      Returns:
      Noeud au Sud-Ouest Avant
    • SWB

      public Octal SWB()
      Permet de créer le noeud/boîte correspondant au Sud-Ouest Arrière du noeud/boîte actuel.
      Returns:
      Noeud au Sud-Ouest Arrière
    • contains

      public boolean contains​(GenericObject object)
      Permet de vérifier si un corps précis se trouve ou pourrait se trouver dans la boîte.
      Parameters:
      object - Corps
      Returns:
      Booléen : true s'il s'y trouve, false sinon
    • contains

      public boolean contains​(Vector3D position)
      Permet de vérifier si une position représentant un corps se trouve ou pourrait se trouver dans la boîte.
      Parameters:
      position - Vecteur position d'un corps
      Returns:
      Booléen : true s'il s'y trouve, false sinon
    • contains

      public boolean contains​(double x, double y, double z)
      Permet de vérifier si une position représentant un corps se trouve ou pourrait se trouver dans la boîte.
      Parameters:
      x - Coordonnées du corps sur l'axe des X
      y - Coordonnées du corps sur l'axe des Y
      z - Coordonnées du corps sur l'axe des Z
      Returns:
      Booléen : true s'il s'y trouve, false sinon