Package gui

Class SimulationScene

java.lang.Object
javafx.scene.Scene
gui.AbstractScene
gui.SimulationScene
All Implemented Interfaces:
javafx.event.EventTarget

public class SimulationScene
extends AbstractScene
Classe permettant de créer et d'afficher la simulation.
  • Property Summary

    Properties inherited from class javafx.scene.Scene

    camera, cursor, effectiveNodeOrientation, eventDispatcher, fill, focusOwner, height, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, root, userAgentStylesheet, width, window, x, y
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private double anchorAngleX
    Permet de stocker les données lors du clic pour la rotation.
    private double anchorAngleY
    Permet de stocker les données lors du clic pour la rotation.
    private double anchorX
    Permet de stocker les données lors du clic pour la rotation.
    private double anchorY
    Permet de stocker les données lors du clic pour la rotation.
    private javafx.beans.property.DoubleProperty angleX
    Propriétés représentant l'angle en X.
    private javafx.beans.property.DoubleProperty angleY
    Propriétés représentant l'angle en Y.
    private javafx.scene.Scene menuScene
    Permet de garder le menu afin de pouvoir revenir au menu principal.
    private SimulationService service
    Service du simulateur pour l'exécuter sur un autre Thread.
    private NBodySimulator simulator
    Simulateur à N corps.
    private java.io.File tempFile
    Fichier temporaire pour garder avant le début de la simulation.
    private javafx.animation.AnimationTimer timer
    Permet d'avoir une animation.

    Fields inherited from class gui.AbstractScene

    stage
  • Constructor Summary

    Constructors 
    Constructor Description
    SimulationScene​(javafx.stage.Stage stage, MenuScene menuScene, NBodySimulator simulator)
    Constructeur de la classe.
  • Method Summary

    Modifier and Type Method Description
    private void animateBodies()
    Permet de lancer la simulation des corps.
    private javafx.scene.control.Accordion createAccordion()
    Permet de créer l'accordéon contenant les outils pour changer les paramètres et pour voir tous les objets.
    private javafx.scene.control.ListView<Body> createBodyList()  
    private javafx.scene.layout.GridPane createButtons()
    Permet de créer les boutons de la scène.
    private javafx.scene.layout.GridPane createParameters()
    Permet de créer les paramètres de la simulation.
    protected void modifyRoot()
    Permet de modifier l'objet parent afin d'afficher les objets pour la simulation.
    private void returnToMenu()
    Permet de retourner au menu principal.
    private javafx.scene.layout.Pane setLeftScene()
    Permet de créer la partie gauche de la simulation.
    private javafx.scene.Node setRightScene()
    Permet de créer la partie droite de la simulation.

    Methods inherited from class javafx.scene.Scene

    addEventFilter, addEventHandler, addMnemonic, addPostLayoutPulseListener, addPreLayoutPulseListener, buildEventDispatchChain, cameraProperty, cursorProperty, disposePeer, effectiveNodeOrientationProperty, enableInputMethodEvents, eventDispatcherProperty, fillProperty, focusOwnerProperty, getAccelerators, getAntiAliasing, getCamera, getCursor, getEffectiveNodeOrientation, getEventDispatcher, getFill, getFocusOwner, getHeight, getMnemonics, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getProperties, getRoot, getStylesheets, getUserAgentStylesheet, getUserData, getWidth, getWindow, getX, getY, hasProperties, heightProperty, isDepthBuffer, lookup, nodeOrientationProperty, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, processKeyEvent, removeEventFilter, removeEventHandler, removeMnemonic, removePostLayoutPulseListener, removePreLayoutPulseListener, rootProperty, setCamera, setCursor, setEventDispatcher, setEventHandler, setFill, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setRoot, setUserAgentStylesheet, setUserData, snapshot, snapshot, startDragAndDrop, startFullDrag, userAgentStylesheetProperty, widthProperty, windowProperty, xProperty, yProperty

    Methods inherited from class java.lang.Object

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

    • menuScene

      private javafx.scene.Scene menuScene
      Permet de garder le menu afin de pouvoir revenir au menu principal.
    • simulator

      private NBodySimulator simulator
      Simulateur à N corps.
    • service

      private SimulationService service
      Service du simulateur pour l'exécuter sur un autre Thread.
    • timer

      private javafx.animation.AnimationTimer timer
      Permet d'avoir une animation. Utilisé pour la simulation automatique.
    • tempFile

      private java.io.File tempFile
      Fichier temporaire pour garder avant le début de la simulation.
    • anchorX

      private double anchorX
      Permet de stocker les données lors du clic pour la rotation.
    • anchorY

      private double anchorY
      Permet de stocker les données lors du clic pour la rotation.
    • anchorAngleX

      private double anchorAngleX
      Permet de stocker les données lors du clic pour la rotation.
    • anchorAngleY

      private double anchorAngleY
      Permet de stocker les données lors du clic pour la rotation.
    • angleX

      private final javafx.beans.property.DoubleProperty angleX
      Propriétés représentant l'angle en X.
    • angleY

      private final javafx.beans.property.DoubleProperty angleY
      Propriétés représentant l'angle en Y.
  • Constructor Details

    • SimulationScene

      public SimulationScene​(javafx.stage.Stage stage, MenuScene menuScene, NBodySimulator simulator)
      Constructeur de la classe.
      Parameters:
      stage - Objet sur lequel la fenêtre est dessinée
      menuScene - Scène du menu
      simulator - Simulateur instancié
  • Method Details

    • modifyRoot

      protected void modifyRoot()
      Permet de modifier l'objet parent afin d'afficher les objets pour la simulation. On crée donc les 2 parties de la simulation ici.
      Overrides:
      modifyRoot in class AbstractScene
    • setLeftScene

      private javafx.scene.layout.Pane setLeftScene()
      Permet de créer la partie gauche de la simulation.
      Returns:
      Partie gauche
    • setRightScene

      private javafx.scene.Node setRightScene()
      Permet de créer la partie droite de la simulation.
      Returns:
      Partie droite
    • createAccordion

      private javafx.scene.control.Accordion createAccordion()
      Permet de créer l'accordéon contenant les outils pour changer les paramètres et pour voir tous les objets.
      Returns:
      Accordéon
    • createParameters

      private javafx.scene.layout.GridPane createParameters()
      Permet de créer les paramètres de la simulation.
      Returns:
      Groupe de paramètres
    • createBodyList

      private javafx.scene.control.ListView<Body> createBodyList()
    • createButtons

      private javafx.scene.layout.GridPane createButtons()
      Permet de créer les boutons de la scène.
      Returns:
      Grille de boutons
    • animateBodies

      private void animateBodies()
      Permet de lancer la simulation des corps.
    • returnToMenu

      private void returnToMenu()
      Permet de retourner au menu principal.