Class GenericObject

java.lang.Object
math_physics.physics.GenericObject
Direct Known Subclasses:
Particule

public abstract class GenericObject
extends java.lang.Object
Représente un objet de l'univers quelconque.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected Vector3D acceleration
    Correspond aux coordonnées d'accélération de l'objet sous forme vectorielle.
    protected Vector3D force
    Correspond à la force exercée sur l'objet sous forme vectorielle.
    protected double mass
    Correspond à la masse totale de l'objet
    static int numberGenericObject
    Correspond aux nombres d'objets qui ont été créés.
    protected int ObjectID
    Correspond à l'identifiant unique de l'objet.
    protected Vector3D position
    Correspond aux coordonnées spatiales de l'objet sous forme vectorielle.
    protected double radius
    Correspond au rayon de l'objet.
    protected Vector3D velocity
    Correspond aux coordonnées de vitesses de l'objet sous forme vectorielle.
  • Constructor Summary

    Constructors 
    Constructor Description
    GenericObject​(double mass, double radius, Vector3D position, Vector3D velocity)
    Constructeur d'un objet astronomique.
  • Method Summary

    Modifier and Type Method Description
    void addForce​(CenterOfMass body)
    Permet d'ajouter la force nette entre cet objet simulé et un centre de gravité au vecteur force de l'objet simulé.
    void addForce​(GenericObject body)
    Permet d'ajouter la force nette entre cet objet simulé et un autre objet au vecteur force de l'objet simulé.
    void computeNewAccelerations​(java.util.List<GenericObject> allObjects)
    Permet de calculer les nouvelles accélérations de l'objet.
    void computeNewPositions​(double deltaTime)
    Permet de calculer les nouvelles positions de l'objet.
    void computeNewVelocities​(double deltaTime)
    Permet de calculer les nouvelles vitesses de l'objet.
    Vector3D getAcceleration()
    Récupère le vecteur accélération de l'objet.
    Vector3D getForce()
    Permet de récupérer le vecteur force de l'objet.
    double getMass()
    Permet de récupérer la masse de l'objet
    int getObjectID()
    Permet d'obtenir l'identifiant de l'objet.
    Vector3D getPosition()
    Récupère le vecteur position de l'objet.
    double getRadius()
    Permet de récupérer le rayon de l'objet.
    Vector3D getVelocity()
    Récupère le vecteur vitesse de l'objet.
    void resetForce()
    Permet de réinitialiser la force exercée sur l'objet.
    void setAcceleration​(Vector3D newAcceleration)
    Permet de mettre à jour l'accélération de l'objet.
    void setForce​(Vector3D newForce)
    Permet de mettre à jour la force exercée sur l'objet.
    void setMass​(double newMass)
    Permet de mettre à jour la masse de l'objet.
    void setPosition​(Vector3D newPosition)
    Permet de mettre à jour la position de l'objet.
    void setRadius​(double newRadius)
    Permet de mettre à jour le rayon de l'objet.
    void setVelocity​(Vector3D newVelocity)
    Permet de mettre à jour la vélocité de l'objet.
    void simulate​(double deltaTime)
    Permet de simuler le déplacement des objets dans un espace 3D en fonction de masses et des positions de tous les autres objets.
    void simulate​(java.util.List<GenericObject> allObjects, double deltaTime)
    Permet de simuler le déplacement des objets dans un espace 3D en fonction de masses et des positions de tous les autres objets.
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

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

    • numberGenericObject

      public static int numberGenericObject
      Correspond aux nombres d'objets qui ont été créés.
    • ObjectID

      protected final int ObjectID
      Correspond à l'identifiant unique de l'objet.
    • mass

      protected double mass
      Correspond à la masse totale de l'objet
    • radius

      protected double radius
      Correspond au rayon de l'objet.
    • position

      protected Vector3D position
      Correspond aux coordonnées spatiales de l'objet sous forme vectorielle.
    • velocity

      protected Vector3D velocity
      Correspond aux coordonnées de vitesses de l'objet sous forme vectorielle.
    • acceleration

      protected Vector3D acceleration
      Correspond aux coordonnées d'accélération de l'objet sous forme vectorielle.
    • force

      protected Vector3D force
      Correspond à la force exercée sur l'objet sous forme vectorielle.
  • Constructor Details

    • GenericObject

      public GenericObject​(double mass, double radius, Vector3D position, Vector3D velocity)
      Constructeur d'un objet astronomique.
      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
  • Method Details

    • toString

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

      public int getObjectID()
      Permet d'obtenir l'identifiant de l'objet.
      Returns:
      ID
    • getMass

      public double getMass()
      Permet de récupérer la masse de l'objet
      Returns:
      Masse de l'objet
    • setMass

      public void setMass​(double newMass)
      Permet de mettre à jour la masse de l'objet.
      Parameters:
      newMass - Nouvelle masse de l'objet
    • getRadius

      public double getRadius()
      Permet de récupérer le rayon de l'objet.
      Returns:
      Rayon de l'objet
    • setRadius

      public void setRadius​(double newRadius)
      Permet de mettre à jour le rayon de l'objet.
      Parameters:
      newRadius - Nouveau rayon de l'objet
    • getPosition

      public Vector3D getPosition()
      Récupère le vecteur position de l'objet.
      Returns:
      Coordonnées de l'objet
    • setPosition

      public void setPosition​(Vector3D newPosition)
      Permet de mettre à jour la position de l'objet.
      Parameters:
      newPosition - Nouvelle position
    • getVelocity

      public Vector3D getVelocity()
      Récupère le vecteur vitesse de l'objet.
      Returns:
      Vitesse de l'objet sur tous les axes 3D
    • setVelocity

      public void setVelocity​(Vector3D newVelocity)
      Permet de mettre à jour la vélocité de l'objet.
      Parameters:
      newVelocity - Nouvelle vitesse
    • getAcceleration

      public Vector3D getAcceleration()
      Récupère le vecteur accélération de l'objet.
      Returns:
      Accélération de l'objet sur tous les axes 3D
    • setAcceleration

      public void setAcceleration​(Vector3D newAcceleration)
      Permet de mettre à jour l'accélération de l'objet.
      Parameters:
      newAcceleration - Nouvelle accélération
    • getForce

      public Vector3D getForce()
      Permet de récupérer le vecteur force de l'objet.
      Returns:
      Force exercée sur l'objet sur tous les axes 3D
    • setForce

      public void setForce​(Vector3D newForce)
      Permet de mettre à jour la force exercée sur l'objet.
      Parameters:
      newForce - Nouvelle force
    • resetForce

      public void resetForce()
      Permet de réinitialiser la force exercée sur l'objet.
    • addForce

      public void addForce​(GenericObject body)
      Permet d'ajouter la force nette entre cet objet simulé et un autre objet au vecteur force de l'objet simulé.
      Parameters:
      body - Corps qui exerce sa force sur cet objet simulé
    • addForce

      public void addForce​(CenterOfMass body)
      Permet d'ajouter la force nette entre cet objet simulé et un centre de gravité au vecteur force de l'objet simulé.
      Parameters:
      body - Centre de gravité qui exerce sa force sur cet objet simulé
    • computeNewAccelerations

      public void computeNewAccelerations​(java.util.List<GenericObject> allObjects)
      Permet de calculer les nouvelles accélérations de l'objet.
      Parameters:
      allObjects - Liste contenant tous les objets
    • computeNewVelocities

      public void computeNewVelocities​(double deltaTime)
      Permet de calculer les nouvelles vitesses de l'objet.
      Parameters:
      deltaTime - Temps écoulé
    • computeNewPositions

      public void computeNewPositions​(double deltaTime)
      Permet de calculer les nouvelles positions de l'objet.
      Parameters:
      deltaTime - Temps écoulé
    • simulate

      public void simulate​(java.util.List<GenericObject> allObjects, double deltaTime)
      Permet de simuler le déplacement des objets dans un espace 3D en fonction de masses et des positions de tous les autres objets. La simulation met à jour les données directement (calcul de l'accélération basique).
      Parameters:
      allObjects - Liste contenant tous les objets
      deltaTime - Temps écoulé
    • simulate

      public void simulate​(double deltaTime)
      Permet de simuler le déplacement des objets dans un espace 3D en fonction de masses et des positions de tous les autres objets. La simulation met à jour les données directement (calcul de l'accélération directement à partir de la force).
      Parameters:
      deltaTime - Temps écoulé