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. -
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
-
Field Details
-
menuScene
private javafx.scene.Scene menuScenePermet de garder le menu afin de pouvoir revenir au menu principal. -
simulator
Simulateur à N corps. -
service
Service du simulateur pour l'exécuter sur un autre Thread. -
timer
private javafx.animation.AnimationTimer timerPermet d'avoir une animation. Utilisé pour la simulation automatique. -
tempFile
private java.io.File tempFileFichier temporaire pour garder avant le début de la simulation. -
anchorX
private double anchorXPermet de stocker les données lors du clic pour la rotation. -
anchorY
private double anchorYPermet de stocker les données lors du clic pour la rotation. -
anchorAngleX
private double anchorAngleXPermet de stocker les données lors du clic pour la rotation. -
anchorAngleY
private double anchorAngleYPermet de stocker les données lors du clic pour la rotation. -
angleX
private final javafx.beans.property.DoubleProperty angleXPropriétés représentant l'angle en X. -
angleY
private final javafx.beans.property.DoubleProperty angleYPropriétés représentant l'angle en Y.
-
-
Constructor Details
-
SimulationScene
Constructeur de la classe.- Parameters:
stage
- Objet sur lequel la fenêtre est dessinéemenuScene
- Scène du menusimulator
- 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 classAbstractScene
-
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
-
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.
-