Package nbody

Class Body


public class Body
extends MacroObject
Classe représentant un corps dans la simulation.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private javafx.scene.paint.Color color
    Correspond à la couleur à afficher pour l'objet.
    private javafx.scene.shape.Sphere sphere
    Correspond à l'objet visuelle représenté sur la fenêtre.

    Fields inherited from class math_physics.physics.MacroObject

    name, root

    Fields inherited from class math_physics.physics.GenericObject

    acceleration, force, mass, numberGenericObject, ObjectID, position, radius, velocity
  • Constructor Summary

    Constructors 
    Constructor Description
    Body​(double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
    Constructeur d'un corps.
    Body​(java.lang.String name, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
    Constructeur d'un corps.
    Body​(java.lang.String name, MacroObject root, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
    Constructeur d'un corps.
  • Method Summary

    Modifier and Type Method Description
    java.lang.String getAllData()
    Permet de récupérer tous les attributs importants du corps dans une chaîne de caractères.
    javafx.scene.paint.Color getColor()
    Permet de récupérer la couleur de la sphère.
    javafx.scene.shape.Sphere getSphere()
    Permet de récupérer la sphère 3D.
    double getXPosition()
    Permet de récupérer la position de l'objet sur l'axe des abscisses.
    double getXVelocity()
    Permet de récupérer la vélocité de l'objet sur l'axe des abscisses.
    double getYPosition()
    Permet de récupérer la position de l'objet sur l'axe des ordonnées.
    double getYVelocity()
    Permet de récupérer la vélocité de l'objet sur l'axe des ordonnées.
    double getZPosition()
    Permet de récupérer la position de l'objet sur l'axe de la profondeur.
    double getZVelocity()
    Permet de récupérer la vélocité de l'objet sur l'axe de la profondeur.
    private void move()
    Permet de mettre à jour la position et le rayon de la sphère.
    void setColor​(javafx.scene.paint.Color newColor)
    Permet de changer la couleur de la sphère.
    void setXPosition​(double newValue)
    Permet de remplacer la position de l'objet sur l'axe des abscisses.
    void setXVelocity​(double newValue)
    Permet de remplacer la vélocité de l'objet sur l'axe des abscisses.
    void setYPosition​(double newValue)
    Permet de remplacer la position de l'objet sur l'axe des ordonnées.
    void setYVelocity​(double newValue)
    Permet de remplacer la vélocité de l'objet sur l'axe des ordonnées.
    void setZPosition​(double newValue)
    Permet de remplacer la position de l'objet sur l'axe de la profondeur.
    void setZVelocity​(double newValue)
    Permet de remplacer la vélocité de l'objet sur l'axe de la profondeur.
    void simulate​(double deltaTime)
    Permet de faire simuler l'objet (simulation de Barnes-Hut).
    void simulate​(java.util.List<GenericObject> allObjects, double deltaTime)
    Permet de faire simuler l'objet (simulation basique newtonnienne).
    java.lang.String toString()  

    Methods inherited from class math_physics.physics.MacroObject

    getObjectName, getRootObject, setObjectName

    Methods inherited from class java.lang.Object

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

    • sphere

      private javafx.scene.shape.Sphere sphere
      Correspond à l'objet visuelle représenté sur la fenêtre.
    • color

      private javafx.scene.paint.Color color
      Correspond à la couleur à afficher pour l'objet.
  • Constructor Details

    • Body

      public Body​(double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
      Constructeur d'un corps.
      Parameters:
      mass - Masse totale de l'objet
      radius - Rayon de l'objet
      position - Coordonnées de la position de l'objet
      velocity - Vitesse initiale de déplacement de l'objet
      color - Couleur à utiliser pour afficher la sphère
    • Body

      public Body​(java.lang.String name, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
      Constructeur d'un corps.
      Parameters:
      name - Nom de l'objet
      mass - Masse totale de l'objet
      radius - Rayon de l'objet
      position - Coordonnées de la position de l'objet
      velocity - Vitesse initiale de déplacement de l'objet
      color - Couleur à utiliser pour afficher la sphère
    • Body

      public Body​(java.lang.String name, MacroObject root, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
      Constructeur d'un corps.
      Parameters:
      name - Nom de l'objet
      root - Instance de l'objet auquel il est rattaché
      mass - Masse totale de l'objet
      radius - Rayon de l'objet
      position - Coordonnées de la position de l'objet
      velocity - Vitesse initiale de déplacement de l'objet
      color - Couleur à utiliser pour afficher la sphère
  • Method Details

    • toString

      public java.lang.String toString()
      Overrides:
      toString in class MacroObject
    • getColor

      public javafx.scene.paint.Color getColor()
      Permet de récupérer la couleur de la sphère.
      Returns:
      Couleur
    • setColor

      public void setColor​(javafx.scene.paint.Color newColor)
      Permet de changer la couleur de la sphère.
      Parameters:
      newColor - Nouvelle couleur
    • getSphere

      public javafx.scene.shape.Sphere getSphere()
      Permet de récupérer la sphère 3D.
      Returns:
      Sphère 3D
    • getXPosition

      public double getXPosition()
      Permet de récupérer la position de l'objet sur l'axe des abscisses.
      Returns:
      Position sur l'axe des X
    • getYPosition

      public double getYPosition()
      Permet de récupérer la position de l'objet sur l'axe des ordonnées.
      Returns:
      Position sur l'axe des Y
    • getZPosition

      public double getZPosition()
      Permet de récupérer la position de l'objet sur l'axe de la profondeur.
      Returns:
      Position sur l'axe des Z
    • setXPosition

      public void setXPosition​(double newValue)
      Permet de remplacer la position de l'objet sur l'axe des abscisses.
      Parameters:
      newValue - Nouvelle valeur
    • setYPosition

      public void setYPosition​(double newValue)
      Permet de remplacer la position de l'objet sur l'axe des ordonnées.
      Parameters:
      newValue - Nouvelle valeur
    • setZPosition

      public void setZPosition​(double newValue)
      Permet de remplacer la position de l'objet sur l'axe de la profondeur.
      Parameters:
      newValue - Nouvelle valeur
    • getXVelocity

      public double getXVelocity()
      Permet de récupérer la vélocité de l'objet sur l'axe des abscisses.
      Returns:
      Vélocité sur l'axe des X
    • getYVelocity

      public double getYVelocity()
      Permet de récupérer la vélocité de l'objet sur l'axe des ordonnées.
      Returns:
      Vélocité sur l'axe des Y
    • getZVelocity

      public double getZVelocity()
      Permet de récupérer la vélocité de l'objet sur l'axe de la profondeur.
      Returns:
      Vélocité sur l'axe des Z
    • setXVelocity

      public void setXVelocity​(double newValue)
      Permet de remplacer la vélocité de l'objet sur l'axe des abscisses.
      Parameters:
      newValue - Nouvelle valeur
    • setYVelocity

      public void setYVelocity​(double newValue)
      Permet de remplacer la vélocité de l'objet sur l'axe des ordonnées.
      Parameters:
      newValue - Nouvelle valeur
    • setZVelocity

      public void setZVelocity​(double newValue)
      Permet de remplacer la vélocité de l'objet sur l'axe de la profondeur.
      Parameters:
      newValue - Nouvelle valeur
    • getAllData

      public java.lang.String getAllData()
      Permet de récupérer tous les attributs importants du corps dans une chaîne de caractères. Organisé comme ceci :
      1. nom ;
      2. masse ;
      3. rayon ;
      4. position ;
      5. vélocité ;
      6. couleur.
      Returns:
      Chaîne de caractère résumant les attributs du corps
    • move

      private void move()
      Permet de mettre à jour la position et le rayon de la sphère.
    • simulate

      public void simulate​(java.util.List<GenericObject> allObjects, double deltaTime)
      Permet de faire simuler l'objet (simulation basique newtonnienne).
      Overrides:
      simulate in class GenericObject
      Parameters:
      allObjects - Liste contenant tous les objets
      deltaTime - Durée d'avancement dans le temps
    • simulate

      public void simulate​(double deltaTime)
      Permet de faire simuler l'objet (simulation de Barnes-Hut).
      Overrides:
      simulate in class GenericObject
      Parameters:
      deltaTime - Durée d'avancement dans le temps