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 doubleanchorAngleXPermet de stocker les données lors du clic pour la rotation.private doubleanchorAngleYPermet de stocker les données lors du clic pour la rotation.private doubleanchorXPermet de stocker les données lors du clic pour la rotation.private doubleanchorYPermet de stocker les données lors du clic pour la rotation.private javafx.beans.property.DoublePropertyangleXPropriétés représentant l'angle en X.private javafx.beans.property.DoublePropertyangleYPropriétés représentant l'angle en Y.private javafx.scene.ScenemenuScenePermet de garder le menu afin de pouvoir revenir au menu principal.private SimulationServiceserviceService du simulateur pour l'exécuter sur un autre Thread.private NBodySimulatorsimulatorSimulateur à N corps.private java.io.FiletempFileFichier temporaire pour garder avant le début de la simulation.private javafx.animation.AnimationTimertimerPermet 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 voidanimateBodies()Permet de lancer la simulation des corps.private javafx.scene.control.AccordioncreateAccordion()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.GridPanecreateButtons()Permet de créer les boutons de la scène.private javafx.scene.layout.GridPanecreateParameters()Permet de créer les paramètres de la simulation.protected voidmodifyRoot()Permet de modifier l'objet parent afin d'afficher les objets pour la simulation.private voidreturnToMenu()Permet de retourner au menu principal.private javafx.scene.layout.PanesetLeftScene()Permet de créer la partie gauche de la simulation.private javafx.scene.NodesetRightScene()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:
modifyRootin 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.
-