From ae07ef451092e2265bfa10aab6fab584b07409ae Mon Sep 17 00:00:00 2001 From: Edvard <edvardee@stud.ntnu.no> Date: Wed, 22 May 2024 11:47:56 +0200 Subject: [PATCH] Rename package directory and code documentation in pom.xml and source code Changeing name of package directory from org.example.chaosgame to org.idatt2003. Add describing comments of dependencies and build configurations in the pom.xml file. And write more detailed javadoc comments where it was necessary. --- pom.xml | 31 ++++++--- src/main/java/module-info.java | 6 +- .../model/transformations/Transform2D.java | 10 --- .../chaosgame => idatt2003}/Main.java | 2 +- .../chaosgame => idatt2003}/MainApp.java | 8 +-- .../controller/CanvasPainter.java | 6 +- .../controller/ChaosGameController.java | 63 ++++++++++++------- .../ChaosGameDescriptionFactory.java | 17 ++--- .../controller/ChaosGameFileHandler.java | 17 ++--- .../controller/ExploreGameController.java | 61 ++++++++++++------ .../controller/HomeController.java | 10 +-- .../controller/PageController.java | 6 +- .../controller/interfaces/GameController.java | 6 +- .../controller/interfaces/Observer.java | 2 +- .../controller/interfaces/Subject.java | 2 +- .../model/chaos/ChaosCanvas.java | 8 +-- .../model/chaos/ChaosGame.java | 20 +++--- .../model/chaos/ChaosGameDescription.java | 59 +++++++++++------ .../model/chaos/ChaosGameType.java | 2 +- .../model/chaos/ExploreGame.java | 45 +++++-------- .../model/linalg/Complex.java | 16 ++++- .../model/linalg/Matrix2x2.java | 5 +- .../model/linalg/Vector2D.java | 19 +++++- .../transformations/AffineTransform2D.java | 6 +- .../model/transformations/ExploreJulia.java | 6 +- .../model/transformations/JuliaTransform.java | 8 ++- .../model/transformations/Transform2D.java | 11 ++++ .../view/ChaosPage.java | 14 ++--- .../view/ExplorePage.java | 14 ++--- .../view/GamePage.java | 2 +- .../view/HomePage.java | 10 +-- .../view/components/AlertUtility.java | 2 +- .../view/components/BaseSlider.java | 4 +- .../view/components/BottomBar.java | 12 ++-- .../view/components/ColorPickerComponent.java | 2 +- .../view/components/CreateAffinePane.java | 2 +- .../view/components/CreateFractalDialog.java | 2 +- .../view/components/CreateJuliaPane.java | 2 +- .../view/components/ExitButton.java | 2 +- .../view/components/FractalSelectionBox.java | 4 +- .../view/components/GameButton.java | 2 +- .../view/components/GameHeader.java | 2 +- .../view/components/HomeButton.java | 2 +- .../view/components/MinMaxDialog.java | 2 +- .../view/components/NumberOfStepsInput.java | 2 +- .../view/components/SideBar.java | 6 +- .../view/components/SliderImaginaryPart.java | 4 +- .../view/components/SliderRealPart.java | 4 +- .../view/components/TopBar.java | 8 +-- .../chaosgame => idatt2003}/.idea/.gitignore | 0 .../.idea/checkstyle-idea.xml | 0 .../chaosgame => idatt2003}/.idea/misc.xml | 0 .../chaosgame => idatt2003}/.idea/modules.xml | 0 .../chaosgame => idatt2003}/.idea/vcs.xml | 0 .../controller/ChaosGameControllerTest.java | 2 +- .../ChaosGameDescriptionFactoryTest.java | 16 ++--- .../controller}/ChaosGameFileHandlerTest.java | 17 ++--- .../controller/ExploreGameControllerTest.java | 2 +- .../controller/HomeControllerTest.java | 2 +- .../controller/PageControllerTest.java | 4 +- .../model/chaos/ChaosCanvasTest.java | 6 +- .../model/chaos/ChaosGameDescriptionTest.java | 10 +-- .../model/chaos/ChaosGameTest.java | 14 ++--- .../model/chaos/ExploreGameTest.java | 27 +++----- .../model/linalg/ComplexTest.java | 3 +- .../model/linalg/Matrix2x2Test.java | 4 +- .../model/linalg/Vector2DTest.java | 3 +- .../AffineTransform2DTest.java | 7 +-- .../transformations/ExploreJuliaTest.java | 8 +-- .../transformations/JuliaTransformTest.java | 7 +-- 70 files changed, 389 insertions(+), 299 deletions(-) delete mode 100644 src/main/java/org/example/chaosgame/model/transformations/Transform2D.java rename src/main/java/org/{example/chaosgame => idatt2003}/Main.java (88%) rename src/main/java/org/{example/chaosgame => idatt2003}/MainApp.java (84%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/CanvasPainter.java (95%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/ChaosGameController.java (87%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/ChaosGameDescriptionFactory.java (86%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/ChaosGameFileHandler.java (93%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/ExploreGameController.java (86%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/HomeController.java (83%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/PageController.java (95%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/interfaces/GameController.java (79%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/interfaces/Observer.java (66%) rename src/main/java/org/{example/chaosgame => idatt2003}/controller/interfaces/Subject.java (78%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/chaos/ChaosCanvas.java (96%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/chaos/ChaosGame.java (93%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/chaos/ChaosGameDescription.java (81%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/chaos/ChaosGameType.java (80%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/chaos/ExploreGame.java (72%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/linalg/Complex.java (72%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/linalg/Matrix2x2.java (89%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/linalg/Vector2D.java (75%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/transformations/AffineTransform2D.java (92%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/transformations/ExploreJulia.java (87%) rename src/main/java/org/{example/chaosgame => idatt2003}/model/transformations/JuliaTransform.java (88%) create mode 100644 src/main/java/org/idatt2003/model/transformations/Transform2D.java rename src/main/java/org/{example/chaosgame => idatt2003}/view/ChaosPage.java (80%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/ExplorePage.java (82%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/GamePage.java (95%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/HomePage.java (94%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/AlertUtility.java (91%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/BaseSlider.java (88%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/BottomBar.java (88%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/ColorPickerComponent.java (93%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/CreateAffinePane.java (98%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/CreateFractalDialog.java (97%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/CreateJuliaPane.java (95%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/ExitButton.java (82%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/FractalSelectionBox.java (88%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/GameButton.java (89%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/GameHeader.java (89%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/HomeButton.java (93%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/MinMaxDialog.java (97%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/NumberOfStepsInput.java (91%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/SideBar.java (94%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/SliderImaginaryPart.java (83%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/SliderRealPart.java (81%) rename src/main/java/org/{example/chaosgame => idatt2003}/view/components/TopBar.java (90%) rename src/test/java/org/{example/chaosgame => idatt2003}/.idea/.gitignore (100%) rename src/test/java/org/{example/chaosgame => idatt2003}/.idea/checkstyle-idea.xml (100%) rename src/test/java/org/{example/chaosgame => idatt2003}/.idea/misc.xml (100%) rename src/test/java/org/{example/chaosgame => idatt2003}/.idea/modules.xml (100%) rename src/test/java/org/{example/chaosgame => idatt2003}/.idea/vcs.xml (100%) rename src/test/java/org/{example/chaosgame => idatt2003}/controller/ChaosGameControllerTest.java (94%) rename src/test/java/org/{example/chaosgame/model/chaos => idatt2003/controller}/ChaosGameDescriptionFactoryTest.java (91%) rename src/test/java/org/{example/chaosgame/model/chaos => idatt2003/controller}/ChaosGameFileHandlerTest.java (96%) rename src/test/java/org/{example/chaosgame => idatt2003}/controller/ExploreGameControllerTest.java (94%) rename src/test/java/org/{example/chaosgame => idatt2003}/controller/HomeControllerTest.java (76%) rename src/test/java/org/{example/chaosgame => idatt2003}/controller/PageControllerTest.java (63%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/chaos/ChaosCanvasTest.java (96%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/chaos/ChaosGameDescriptionTest.java (95%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/chaos/ChaosGameTest.java (94%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/chaos/ExploreGameTest.java (76%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/linalg/ComplexTest.java (91%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/linalg/Matrix2x2Test.java (90%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/linalg/Vector2DTest.java (97%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/transformations/AffineTransform2DTest.java (69%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/transformations/ExploreJuliaTest.java (83%) rename src/test/java/org/{example/chaosgame => idatt2003}/model/transformations/JuliaTransformTest.java (70%) diff --git a/pom.xml b/pom.xml index 250218d..1c475bb 100644 --- a/pom.xml +++ b/pom.xml @@ -4,27 +4,39 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <groupId>org.example</groupId> + <groupId>org.idatt2003</groupId> <artifactId>ChaosGame</artifactId> <version>1.0-SNAPSHOT</version> <name>ChaosGame</name> + <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>5.10.0</junit.version> </properties> + + <!-- Dependencies --> <dependencies> + <!-- JavaFX controls--> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>21</version> </dependency> + <!-- JavaFX fxml--> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>21</version> </dependency> + <!-- JavaFX media--> + <dependency> + <groupId>org.openjfx</groupId> + <artifactId>javafx-media</artifactId> + <version>21.0.2</version> + </dependency> + <!-- JUnit 5 engine and api dependencies --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> @@ -37,11 +49,11 @@ <version>${junit.version}</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.openjfx</groupId> - <artifactId>javafx-media</artifactId> - <version>21.0.2</version> - </dependency> + + <!-- Mockito Dependencies --> + <!-- Tried to implement mockito in controller + testing, but did not work because + controller classes uses JavaFX components--> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> @@ -54,8 +66,6 @@ <version>3.12.4</version> <scope>test</scope> </dependency> - - <!-- Mockito JUnit Jupiter Dependency --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> @@ -64,9 +74,11 @@ </dependency> </dependencies> + <!-- Build configuration --> <build> <plugins> <plugin> + <!-- Compiler plugin --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> @@ -76,6 +88,7 @@ </configuration> </plugin> <plugin> + <!-- JavaFX plugin --> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> @@ -84,7 +97,7 @@ <!-- Default configuration for running with: mvn clean javafx:run --> <id>default-cli</id> <configuration> - <mainClass>org.example.chaosgame/org.example.chaosgame.MainApp</mainClass> + <mainClass>org.idatt2003/org.idatt2003.MainApp</mainClass> <launcher>app</launcher> <jlinkZipName>app</jlinkZipName> <jlinkImageName>app</jlinkImageName> diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index c708126..49050d4 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -1,9 +1,9 @@ -module org.example.chaosgame { +module org.idatt2003 { requires javafx.controls; requires javafx.fxml; requires javafx.media; - opens org.example.chaosgame to javafx.fxml; - exports org.example.chaosgame; + opens org.idatt2003 to javafx.fxml; + exports org.idatt2003; } \ No newline at end of file diff --git a/src/main/java/org/example/chaosgame/model/transformations/Transform2D.java b/src/main/java/org/example/chaosgame/model/transformations/Transform2D.java deleted file mode 100644 index c97d56a..0000000 --- a/src/main/java/org/example/chaosgame/model/transformations/Transform2D.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.example.chaosgame.model.transformations; - -import org.example.chaosgame.model.linalg.Vector2D; - -/** - * Interface for 2D transformations. - */ -public interface Transform2D { - Vector2D transform(Vector2D point); -} diff --git a/src/main/java/org/example/chaosgame/Main.java b/src/main/java/org/idatt2003/Main.java similarity index 88% rename from src/main/java/org/example/chaosgame/Main.java rename to src/main/java/org/idatt2003/Main.java index 2e188dd..57b87ad 100644 --- a/src/main/java/org/example/chaosgame/Main.java +++ b/src/main/java/org/idatt2003/Main.java @@ -1,4 +1,4 @@ -package org.example.chaosgame; +package org.idatt2003; /** * Main class for the application. diff --git a/src/main/java/org/example/chaosgame/MainApp.java b/src/main/java/org/idatt2003/MainApp.java similarity index 84% rename from src/main/java/org/example/chaosgame/MainApp.java rename to src/main/java/org/idatt2003/MainApp.java index 9ee9023..5c4bee1 100644 --- a/src/main/java/org/example/chaosgame/MainApp.java +++ b/src/main/java/org/idatt2003/MainApp.java @@ -1,13 +1,13 @@ -package org.example.chaosgame; +package org.idatt2003; import java.util.Objects; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; -import org.example.chaosgame.controller.ChaosGameController; -import org.example.chaosgame.controller.ExploreGameController; -import org.example.chaosgame.controller.PageController; +import org.idatt2003.controller.ChaosGameController; +import org.idatt2003.controller.ExploreGameController; +import org.idatt2003.controller.PageController; /** * This is the main class for the JavaFX application. diff --git a/src/main/java/org/example/chaosgame/controller/CanvasPainter.java b/src/main/java/org/idatt2003/controller/CanvasPainter.java similarity index 95% rename from src/main/java/org/example/chaosgame/controller/CanvasPainter.java rename to src/main/java/org/idatt2003/controller/CanvasPainter.java index aac42a9..c6d7e30 100644 --- a/src/main/java/org/example/chaosgame/controller/CanvasPainter.java +++ b/src/main/java/org/idatt2003/controller/CanvasPainter.java @@ -1,10 +1,10 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.PixelWriter; import javafx.scene.image.WritableImage; import javafx.scene.paint.Color; -import org.example.chaosgame.model.chaos.ChaosCanvas; +import org.idatt2003.model.chaos.ChaosCanvas; /** @@ -50,6 +50,8 @@ public abstract class CanvasPainter { /** * Method for clearing the canvas. + * Clears entire GraphicsContext canvas with built-in + * clearRect method. * * @param gc the graphics context */ diff --git a/src/main/java/org/example/chaosgame/controller/ChaosGameController.java b/src/main/java/org/idatt2003/controller/ChaosGameController.java similarity index 87% rename from src/main/java/org/example/chaosgame/controller/ChaosGameController.java rename to src/main/java/org/idatt2003/controller/ChaosGameController.java index b21ae7c..d9dd3c1 100644 --- a/src/main/java/org/example/chaosgame/controller/ChaosGameController.java +++ b/src/main/java/org/idatt2003/controller/ChaosGameController.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.io.File; import java.io.IOException; @@ -12,22 +12,22 @@ import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; import javafx.stage.FileChooser; import javafx.util.Pair; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.chaos.ChaosGame; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.chaos.ChaosGameType; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.ChaosPage; -import org.example.chaosgame.view.components.AlertUtility; -import org.example.chaosgame.view.components.CreateFractalDialog; -import org.example.chaosgame.view.components.MinMaxDialog; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.chaos.ChaosGame; +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.chaos.ChaosGameType; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.view.ChaosPage; +import org.idatt2003.view.components.AlertUtility; +import org.idatt2003.view.components.CreateFractalDialog; +import org.idatt2003.view.components.MinMaxDialog; /** * Controller class for the chaos game. @@ -49,7 +49,8 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj * Constructor for the ChaosGameController. * * <p>Initializes the ChaosGame and ChaosPage. - * Register the ChaosGame as an observer. + * Registers the controller as an observer of the + * chaos game * */ public ChaosGameController() { @@ -81,6 +82,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for selecting a new ChaosGameDescription. + * Uses the ChaosGameDescriptionFactory to change the game * * @param selectedGame Name of the selected game */ @@ -131,9 +133,10 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for setting the min and max coordinates for the chaos game. + * Updates the ChaosGameDescription to the new coordinate values. + * Catches different exceptions and displays a fitting message to user. * * <p>Opens a dialog for the user to enter the coordinates. - * */ public void setMaxMinCoords() { MinMaxDialog dialog = new MinMaxDialog(); @@ -191,7 +194,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for user creation of fractal. - * {@link org.example.chaosgame.view.components.CreateFractalDialog} returns either a + * {@link CreateFractalDialog} returns either a * {@link java.util.List}<{@link java.util.List}<{@link java.lang.String}>> * or a {@link javafx.util.Pair}<{@link java.lang.String}, {@link java.lang.String}>. * @@ -269,6 +272,9 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for resetting the chaos game. + * Resets the total steps. + * Updates the information on the chaos page's top bar + * and clears both the ChaosCanvas and the canvas */ public void resetGame() { chaosGame.resetTotalSteps(); @@ -322,12 +328,20 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } } + /** + * Method for updating the fractal color. + * Sets the color than updates the canvas with the new color. + * @param color the new color. + */ @Override public void updateFractalColor(Color color) { setFractalColor(color); updateCanvas(chaosGame.getCanvas(), chaosPage.getGraphicsContext()); } + /** + * Notifies the page observers when the button is clicked. + */ @Override public void homeButtonClicked() { notifyObservers(); @@ -347,7 +361,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } /** - * Method for registering observers. + * Method for registering page observers. * * @param observer Observer to register */ @@ -357,7 +371,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } /** - * Method for removing observers. + * Method for removing page observers. * * @param observer Observer to remove */ @@ -367,7 +381,10 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } /** - * Method for notifying observers. + * Method for notifying page observers. + * Notifies if the displaying pages should + * be changed. + * */ @Override public void notifyObservers() { diff --git a/src/main/java/org/example/chaosgame/controller/ChaosGameDescriptionFactory.java b/src/main/java/org/idatt2003/controller/ChaosGameDescriptionFactory.java similarity index 86% rename from src/main/java/org/example/chaosgame/controller/ChaosGameDescriptionFactory.java rename to src/main/java/org/idatt2003/controller/ChaosGameDescriptionFactory.java index db3de3d..2b88d94 100644 --- a/src/main/java/org/example/chaosgame/controller/ChaosGameDescriptionFactory.java +++ b/src/main/java/org/idatt2003/controller/ChaosGameDescriptionFactory.java @@ -1,13 +1,14 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.util.List; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.chaos.ChaosGameType; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; + +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.chaos.ChaosGameType; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; /** * Factory class for creating ChaosGameDescription objects. diff --git a/src/main/java/org/example/chaosgame/controller/ChaosGameFileHandler.java b/src/main/java/org/idatt2003/controller/ChaosGameFileHandler.java similarity index 93% rename from src/main/java/org/example/chaosgame/controller/ChaosGameFileHandler.java rename to src/main/java/org/idatt2003/controller/ChaosGameFileHandler.java index 050be3f..24e99b7 100644 --- a/src/main/java/org/example/chaosgame/controller/ChaosGameFileHandler.java +++ b/src/main/java/org/idatt2003/controller/ChaosGameFileHandler.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,13 +7,14 @@ import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; + +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; /** * Class for reading and writing chaos game descriptions from and to files. diff --git a/src/main/java/org/example/chaosgame/controller/ExploreGameController.java b/src/main/java/org/idatt2003/controller/ExploreGameController.java similarity index 86% rename from src/main/java/org/example/chaosgame/controller/ExploreGameController.java rename to src/main/java/org/idatt2003/controller/ExploreGameController.java index a72fe1f..7753141 100644 --- a/src/main/java/org/example/chaosgame/controller/ExploreGameController.java +++ b/src/main/java/org/idatt2003/controller/ExploreGameController.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.util.ArrayList; import java.util.List; @@ -7,17 +7,17 @@ import javafx.scene.input.MouseEvent; import javafx.scene.input.ScrollEvent; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.chaos.ChaosCanvas; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.chaos.ExploreGame; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.ExploreJulia; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.ExplorePage; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.chaos.ExploreGame; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.ExploreJulia; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.model.chaos.ChaosCanvas; +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.view.ExplorePage; /** * Controller class for the ExploreGame. @@ -26,7 +26,7 @@ import org.example.chaosgame.view.ExplorePage; * * <p>The controller implements the GameController, and is a Subject and Observer. */ -public class ExploreGameController extends CanvasPainter implements Observer, Subject, GameController { +public class ExploreGameController extends CanvasPainter implements Observer, Subject, GameController { private ExploreGame exploreGame; private final ExplorePage explorePage; private ChaosCanvas chaosCanvas; @@ -46,6 +46,8 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su /** * Constructor for ExploreGameController. * Initializes the ExploreGame and ExplorePage. + * Registers the controller as an observer of the explore game. + * */ public ExploreGameController() { ExploreJulia exploreJulia = new ExploreJulia(new Complex(-0.835, 0.2321)); @@ -80,7 +82,9 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su /** * Method for handling mouse dragged events. - * Moves the canvas based on the distance dragged. + * Moves the canvas based on the distance dragged, + * by translating in the canvas in the x- and y-direction. + * Updates the drag start position. * * @param event MouseEvent */ @@ -141,6 +145,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su * <a href="https://github.com/majidrouhani/idatt2003-gui-demo-mandelbrot"> * idatt2003-gui-demo-mandelbrot</a> * + * * @param event ScrollEvent */ public void onScroll(ScrollEvent event) { @@ -205,7 +210,11 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su this.canvas.setScaleY(1); } - + /** + * Method for handling home button clicks. + * Notifies observers. + */ + @Override public void homeButtonClicked() { notifyObservers(); } @@ -240,6 +249,14 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su updateExplorePage(); } + + /** + * Method for binding the canvas to the main pane. + * Binds the canvas width and height to the main pane width and height. + * Updates the canvas width and height when the main pane width and height changes with listeners. + * + * @param mainPane Main pane of the application + */ @Override public void setBind(StackPane mainPane) { canvas.widthProperty().bind(mainPane.widthProperty().multiply(0.85)); @@ -258,6 +275,12 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su }); } + /** + * Method for updating the Julia value. + * + * @param partType Part type + * @param value New value + */ @Override public void updateJuliaValue(String partType, double value) { ExploreJulia exploreTransform = @@ -284,7 +307,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su } /** - * Method for registering an observer. + * Method for registering a page observer. * * @param observer Observer */ @@ -294,7 +317,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su } /** - * Method for removing an observer. + * Method for removing a page observer. * * @param observer Observer */ @@ -304,7 +327,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su } /** - * Method for notifying observers. + * Method for notifying page observers. */ @Override public void notifyObservers() { @@ -312,4 +335,6 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su pageObserver.update(); } } + + } diff --git a/src/main/java/org/example/chaosgame/controller/HomeController.java b/src/main/java/org/idatt2003/controller/HomeController.java similarity index 83% rename from src/main/java/org/example/chaosgame/controller/HomeController.java rename to src/main/java/org/idatt2003/controller/HomeController.java index 8695475..30b88ac 100644 --- a/src/main/java/org/example/chaosgame/controller/HomeController.java +++ b/src/main/java/org/idatt2003/controller/HomeController.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import javafx.event.EventType; import javafx.scene.effect.ColorAdjust; @@ -7,7 +7,7 @@ import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.scene.text.Text; import javafx.util.Duration; -import org.example.chaosgame.view.HomePage; +import org.idatt2003.view.HomePage; /** * Controller for the home page. @@ -30,7 +30,9 @@ public class HomeController { } /** - * Handles mouse events for the home page. + * Handles MOUSE_ENTERED or MOUSE_EXITED events + * for the home page. Either plays or pauses video and adds + * opacity to the text and color adjusts the MediaView. * * @param mouseEvent the mouse event * @param video the video @@ -46,7 +48,7 @@ public class HomeController { view.setEffect(colorAdjust); header.setEffect(headerAdjust); header.setOpacity(0.2); - } else { + } else if (mouseEvent == MouseEvent.MOUSE_EXITED){ video.seek(Duration.seconds(0)); video.pause(); view.setEffect(colorAdjust); diff --git a/src/main/java/org/example/chaosgame/controller/PageController.java b/src/main/java/org/idatt2003/controller/PageController.java similarity index 95% rename from src/main/java/org/example/chaosgame/controller/PageController.java rename to src/main/java/org/idatt2003/controller/PageController.java index e8883f5..03ddb8f 100644 --- a/src/main/java/org/example/chaosgame/controller/PageController.java +++ b/src/main/java/org/idatt2003/controller/PageController.java @@ -1,11 +1,11 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.util.HashMap; import java.util.Map; import javafx.scene.Node; import javafx.scene.layout.StackPane; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.view.HomePage; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.view.HomePage; /** * Controller for the different pages in the application. diff --git a/src/main/java/org/example/chaosgame/controller/interfaces/GameController.java b/src/main/java/org/idatt2003/controller/interfaces/GameController.java similarity index 79% rename from src/main/java/org/example/chaosgame/controller/interfaces/GameController.java rename to src/main/java/org/idatt2003/controller/interfaces/GameController.java index 7c29ebd..61d5ea9 100644 --- a/src/main/java/org/example/chaosgame/controller/interfaces/GameController.java +++ b/src/main/java/org/idatt2003/controller/interfaces/GameController.java @@ -1,11 +1,13 @@ -package org.example.chaosgame.controller.interfaces; +package org.idatt2003.controller.interfaces; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; -import org.example.chaosgame.view.GamePage; +import org.idatt2003.view.GamePage; /** * Interface for the GameController. + * Includes abstract methods for setting canvas bind, + * updating julia values, home button clicked and updating fractal colors */ public interface GameController { diff --git a/src/main/java/org/example/chaosgame/controller/interfaces/Observer.java b/src/main/java/org/idatt2003/controller/interfaces/Observer.java similarity index 66% rename from src/main/java/org/example/chaosgame/controller/interfaces/Observer.java rename to src/main/java/org/idatt2003/controller/interfaces/Observer.java index e207696..72c2e09 100644 --- a/src/main/java/org/example/chaosgame/controller/interfaces/Observer.java +++ b/src/main/java/org/idatt2003/controller/interfaces/Observer.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller.interfaces; +package org.idatt2003.controller.interfaces; /** * Observer interface for the observer pattern. diff --git a/src/main/java/org/example/chaosgame/controller/interfaces/Subject.java b/src/main/java/org/idatt2003/controller/interfaces/Subject.java similarity index 78% rename from src/main/java/org/example/chaosgame/controller/interfaces/Subject.java rename to src/main/java/org/idatt2003/controller/interfaces/Subject.java index 9c0605d..ef59e5b 100644 --- a/src/main/java/org/example/chaosgame/controller/interfaces/Subject.java +++ b/src/main/java/org/idatt2003/controller/interfaces/Subject.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller.interfaces; +package org.idatt2003.controller.interfaces; /** * Subject interface for the observer pattern. diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosCanvas.java b/src/main/java/org/idatt2003/model/chaos/ChaosCanvas.java similarity index 96% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosCanvas.java rename to src/main/java/org/idatt2003/model/chaos/ChaosCanvas.java index ed700b4..1f9ab6f 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosCanvas.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosCanvas.java @@ -1,8 +1,8 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; /** * A class representing a canvas for the chaos game. diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosGame.java b/src/main/java/org/idatt2003/model/chaos/ChaosGame.java similarity index 93% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosGame.java rename to src/main/java/org/idatt2003/model/chaos/ChaosGame.java index 03922e8..119c913 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosGame.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosGame.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import java.util.ArrayList; -import java.util.Currency; import java.util.List; import java.util.Random; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.linalg.Vector2D; + +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.linalg.Vector2D; /** * Class for running a chaos game. @@ -102,6 +102,8 @@ public class ChaosGame implements Subject { /** * Method for setting the chaos game description. + * Sets the description, resets the total steps, + * sets the chaosCanvas and * * @param newDescription New description of the chaos game * @throws IllegalArgumentException If newDescription is null @@ -181,6 +183,7 @@ public class ChaosGame implements Subject { * Method for running the chaos game with probabilities. * Randomly selects a transformation from the description based on the probabilities * and applies it to the current point. + * GitHub Copilot helped generate code logic. * * @param steps Number of steps to run * @param probabilities List of probabilities for the transformations @@ -206,7 +209,7 @@ public class ChaosGame implements Subject { } /** - * Method for registering an observer. + * Method for registering a game observer. * * @param gameObserver Observer to register */ @@ -216,7 +219,7 @@ public class ChaosGame implements Subject { } /** - * Method for removing an observer. + * Method for removing a game observer. * * @param gameObserver Observer to remove */ @@ -226,7 +229,8 @@ public class ChaosGame implements Subject { } /** - * Method for notifying observers. + * Method for notifying observers of the game. + * */ @Override public void notifyObservers() { diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameDescription.java b/src/main/java/org/idatt2003/model/chaos/ChaosGameDescription.java similarity index 81% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosGameDescription.java rename to src/main/java/org/idatt2003/model/chaos/ChaosGameDescription.java index cd4056a..180db0b 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameDescription.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosGameDescription.java @@ -1,9 +1,9 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import java.util.List; import java.util.Objects; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; /** @@ -20,6 +20,8 @@ public class ChaosGameDescription { /** * Constructor for ChaosGameDescription. + * Validates the coordinates and transformations, + * Then sets the * * @param minCoords Minimum coordinates of the game area * @@ -68,8 +70,11 @@ public class ChaosGameDescription { * @param minCoords Minimum coordinates of the game area * * @param maxCoords Maximum coordinates of the game area + * + * @throws IllegalArgumentException if transformation is null or has more elements than 4 */ - private void validateCoordinates(Vector2D minCoords, Vector2D maxCoords) { + private void validateCoordinates(Vector2D minCoords, Vector2D maxCoords) + throws IllegalArgumentException { if (minCoords.getX() < -50 || minCoords.getY() < -50 || minCoords.getX() > 50 || minCoords.getY() > 50 || maxCoords.getX() > 50 || maxCoords.getY() > 50 @@ -84,20 +89,6 @@ public class ChaosGameDescription { } } - /** - * Method for validating the transformations. - * - * @param transforms List of transformations to apply to the points - */ - private void validateTransforms(List<Transform2D> transforms) { - if (transforms == null) { - throw new IllegalArgumentException("Transformations cannot be null"); - } - if (transforms.size() > 4 || transforms.isEmpty()) { - throw new IllegalArgumentException("Number of transformations must be between 1 and 4"); - } - } - public Vector2D getMinCoords() { return minCoords; } @@ -114,15 +105,47 @@ public class ChaosGameDescription { return probabilities; } + /** + * Method for validating the transformations. + * + * @param transforms List of transformations to apply to the points + * + * @throws IllegalArgumentException if transformation is null, empty or has more elements than 4 + */ + private void validateTransforms(List<Transform2D> transforms) throws IllegalArgumentException { + if (transforms == null) { + throw new IllegalArgumentException("Transformations cannot be null"); + } + if (transforms.size() > 4 || transforms.isEmpty()) { + throw new IllegalArgumentException("Number of transformations must be between 1 and 4"); + } + } + + /** + * Method for setting the description transformations. + * Validates first then, sets the transformations. + * + * @param transforms List of transformations to set + */ public void setTransforms(List<Transform2D> transforms) { validateTransforms(transforms); this.transforms = transforms; } + /** + * Method for setting the descriptions min coordinates + * Does not validate because of the drag and drop functionality in explore game + * @param minCoords new min coordinates + */ public void setMinCoords(Vector2D minCoords) { this.minCoords = minCoords; } + /** + * Method for setting the descriptions max coordinates + * Does not validate because of the drag and drop functionality in explore game + * @param maxCoords new max coordinates + */ public void setMaxCoords(Vector2D maxCoords) { this.maxCoords = maxCoords; } diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameType.java b/src/main/java/org/idatt2003/model/chaos/ChaosGameType.java similarity index 80% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosGameType.java rename to src/main/java/org/idatt2003/model/chaos/ChaosGameType.java index c709d9a..e0ca41e 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameType.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosGameType.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; /** * Enum for the different types of chaos games. diff --git a/src/main/java/org/example/chaosgame/model/chaos/ExploreGame.java b/src/main/java/org/idatt2003/model/chaos/ExploreGame.java similarity index 72% rename from src/main/java/org/example/chaosgame/model/chaos/ExploreGame.java rename to src/main/java/org/idatt2003/model/chaos/ExploreGame.java index a7cd8ea..efa29b1 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ExploreGame.java +++ b/src/main/java/org/idatt2003/model/chaos/ExploreGame.java @@ -1,16 +1,18 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import java.util.ArrayList; import java.util.List; import java.util.stream.IntStream; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; + +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.linalg.Vector2D; /** - * Class for exploring julia sets. + * Class for exploring fractal sets. + * Currently, it is only set to calculate julia fractals, + * can be expanded to work with other fractals. */ public class ExploreGame implements Subject { private static final int MAX_ITER = 256; @@ -21,6 +23,10 @@ public class ExploreGame implements Subject { /** * Constructor for ExploreGame. + * Creates a new ExploreGame object with the + * given description, width, and height. + * Creates a new ChaosCanvas object with the + * minCoords and maxCoords in the ChaosGameDescription. * * @param description Description of the chaos game * @@ -42,13 +48,12 @@ public class ExploreGame implements Subject { * * @param description Description of the chaos game * - * @param width Width of the canvas - * - * @param height Height of the canvas + * @param canvas ChaosCanvas object */ - public void setExploreGame(ChaosGameDescription description, int width, int height) { + public void setExploreGame(ChaosGameDescription description, ChaosCanvas canvas) { this.description = description; - setChaosCanvas(description.getMinCoords(), description.getMaxCoords(), width, height); + this.canvas = canvas; + this.currentPoint = new Vector2D(0.0, 0.0); } @@ -60,20 +65,6 @@ public class ExploreGame implements Subject { return description; } - /** - * Method for setting the chaos canvas. - * - * @param minCoords Minimum coordinates of the canvas - * - * @param maxCoords Maximum coordinates of the canvas - * - * @param width Width of the canvas - * - * @param height Height of the canvas - */ - public void setChaosCanvas(Vector2D minCoords, Vector2D maxCoords, int width, int height) { - this.canvas = new ChaosCanvas(width, height, minCoords, maxCoords); - } /** * Method for exploring fractals. Iterates over all pixels in the canvas @@ -136,8 +127,4 @@ public class ExploreGame implements Subject { gameObserver.update(); } } - - public void setDescription(Vector2D minCoords, Vector2D maxCoords, List<Transform2D> transforms) { - this.description = new ChaosGameDescription(minCoords, maxCoords, transforms); - } } diff --git a/src/main/java/org/example/chaosgame/model/linalg/Complex.java b/src/main/java/org/idatt2003/model/linalg/Complex.java similarity index 72% rename from src/main/java/org/example/chaosgame/model/linalg/Complex.java rename to src/main/java/org/idatt2003/model/linalg/Complex.java index 8e671f6..396b0ce 100644 --- a/src/main/java/org/example/chaosgame/model/linalg/Complex.java +++ b/src/main/java/org/idatt2003/model/linalg/Complex.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; import java.util.Random; @@ -23,10 +23,22 @@ public class Complex extends Vector2D { /** * Method to calculate the square root of a complex number. + * This formula describes the transformation: + * <br> + * <span style="font-family: Courier"> + * z → ±√̅(̅a̅ ̅+̅ + * ̅b̅i̅) </span> + * + * where: + * <ul> + * <li>a is the real part of the complex number</li> + * <li>b is the imaginary part of the complex number</li> + * <li>i is the imaginary unit</li> + * </ul> * * @param realPart the real part of the complex number. * @param imaginaryPart the imaginary part of the complex number. - * @return a new complex number that is the square root of the input cRe and cIm. + * @return a new complex number that is the square root of the input realPart and imaginaryPart. */ public Complex sqrt(double realPart, double imaginaryPart) { double a = Math.pow(realPart, 2) + Math.pow(imaginaryPart, 2); diff --git a/src/main/java/org/example/chaosgame/model/linalg/Matrix2x2.java b/src/main/java/org/idatt2003/model/linalg/Matrix2x2.java similarity index 89% rename from src/main/java/org/example/chaosgame/model/linalg/Matrix2x2.java rename to src/main/java/org/idatt2003/model/linalg/Matrix2x2.java index ea2b491..7ec692e 100644 --- a/src/main/java/org/example/chaosgame/model/linalg/Matrix2x2.java +++ b/src/main/java/org/idatt2003/model/linalg/Matrix2x2.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; import java.util.Objects; @@ -29,6 +29,9 @@ public record Matrix2x2(double a, double b, double c, double d) { /** * Method to multiply a 2x2 matrix with a 2D vector. + * Multiplies the matrix x-values with the vector x-values and the matrix + * y-values with the vector y-values. + * adds the results together to get a new vector with new x and y values. * * @param vector the vector to multiply with. * @return a new 2D vector. diff --git a/src/main/java/org/example/chaosgame/model/linalg/Vector2D.java b/src/main/java/org/idatt2003/model/linalg/Vector2D.java similarity index 75% rename from src/main/java/org/example/chaosgame/model/linalg/Vector2D.java rename to src/main/java/org/idatt2003/model/linalg/Vector2D.java index c06683a..2a9061e 100644 --- a/src/main/java/org/example/chaosgame/model/linalg/Vector2D.java +++ b/src/main/java/org/idatt2003/model/linalg/Vector2D.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; import java.util.Objects; @@ -15,6 +15,7 @@ public class Vector2D { /** * Constructor for Vector2D. + * Creates a new 2D vector with the given x and y coordinates. * * @param x x-coordinate * @param y y-coordinate @@ -34,6 +35,8 @@ public class Vector2D { /** * Add two vectors together. + * The sum of two vectors is a new vector with + * the sum of the x-coordinates and the sum of the y-coordinates. * * @param other the other vector * @return the sum of the two vectors @@ -46,6 +49,8 @@ public class Vector2D { /** * Subtract one vector from another. + * The difference of two vectors is a new vector with + * the difference of the x-coordinates and the difference of the y-coordinates. * * @param other the other vector * @return the difference of the two vectors @@ -58,6 +63,8 @@ public class Vector2D { /** * Scale a vector by a scalar. + * The scaled vector is a new vector with the + * x and y coordinates multiplied by the scalar. * * @param scalar the scalar to multiply the vector by * @return the scaled vector @@ -70,6 +77,8 @@ public class Vector2D { /** * Multiply two vectors together. + * The product of two vectors is a new vector with + * the product of the x-coordinates and the product of the y-coordinates. * * @param other the other vector * @return the product of the two vectors @@ -82,6 +91,8 @@ public class Vector2D { /** * Divide one vector by another. + * The quotient of two vectors is a new vector with + * the quotient of the x-coordinates and the quotient of the y-coordinates. * * @param other the other vector * @return the quotient of the two vectors @@ -93,9 +104,11 @@ public class Vector2D { } /** - * Calculate the length of a vector. + * Calculate the squared length of a vector. + * The squared magnitude of a vector is the sum + * of the squares of the x and y coordinates. * - * @return the length of the vector + * @return the squared length of the vector */ public double lengthSq() { return x * x + y * y; diff --git a/src/main/java/org/example/chaosgame/model/transformations/AffineTransform2D.java b/src/main/java/org/idatt2003/model/transformations/AffineTransform2D.java similarity index 92% rename from src/main/java/org/example/chaosgame/model/transformations/AffineTransform2D.java rename to src/main/java/org/idatt2003/model/transformations/AffineTransform2D.java index da0db14..b6643cf 100644 --- a/src/main/java/org/example/chaosgame/model/transformations/AffineTransform2D.java +++ b/src/main/java/org/idatt2003/model/transformations/AffineTransform2D.java @@ -1,8 +1,8 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; import java.util.Objects; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; /** diff --git a/src/main/java/org/example/chaosgame/model/transformations/ExploreJulia.java b/src/main/java/org/idatt2003/model/transformations/ExploreJulia.java similarity index 87% rename from src/main/java/org/example/chaosgame/model/transformations/ExploreJulia.java rename to src/main/java/org/idatt2003/model/transformations/ExploreJulia.java index 4d84a62..373b540 100644 --- a/src/main/java/org/example/chaosgame/model/transformations/ExploreJulia.java +++ b/src/main/java/org/idatt2003/model/transformations/ExploreJulia.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; /** * Class for the Julia transformation. diff --git a/src/main/java/org/example/chaosgame/model/transformations/JuliaTransform.java b/src/main/java/org/idatt2003/model/transformations/JuliaTransform.java similarity index 88% rename from src/main/java/org/example/chaosgame/model/transformations/JuliaTransform.java rename to src/main/java/org/idatt2003/model/transformations/JuliaTransform.java index 98119ed..c3f5eec 100644 --- a/src/main/java/org/example/chaosgame/model/transformations/JuliaTransform.java +++ b/src/main/java/org/idatt2003/model/transformations/JuliaTransform.java @@ -1,8 +1,8 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; import java.util.Objects; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; /** * Class for the Julia transformation. @@ -18,6 +18,7 @@ public class JuliaTransform implements Transform2D { /** * Constructor for JuliaTransform. + * Creates a new JuliaTransform object with the given complex number and sign. * * @param point the complex number c * @param sign the sign of the transformation @@ -32,6 +33,7 @@ public class JuliaTransform implements Transform2D { } /** + * JuliaTransform implementation of the transform method in Transform2D. * Method to transform a 2D vector using the Julia transformation. * This formula describes the transformation: * <br> diff --git a/src/main/java/org/idatt2003/model/transformations/Transform2D.java b/src/main/java/org/idatt2003/model/transformations/Transform2D.java new file mode 100644 index 0000000..592258d --- /dev/null +++ b/src/main/java/org/idatt2003/model/transformations/Transform2D.java @@ -0,0 +1,11 @@ +package org.idatt2003.model.transformations; + +import org.idatt2003.model.linalg.Vector2D; + +/** + * Interface for 2D transformations. + * Implementing classes should transform a 2D point. + */ +public interface Transform2D { + Vector2D transform(Vector2D point); +} diff --git a/src/main/java/org/example/chaosgame/view/ChaosPage.java b/src/main/java/org/idatt2003/view/ChaosPage.java similarity index 80% rename from src/main/java/org/example/chaosgame/view/ChaosPage.java rename to src/main/java/org/idatt2003/view/ChaosPage.java index 5ada76b..f9487e2 100644 --- a/src/main/java/org/example/chaosgame/view/ChaosPage.java +++ b/src/main/java/org/idatt2003/view/ChaosPage.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; import javafx.scene.canvas.GraphicsContext; -import org.example.chaosgame.controller.ChaosGameController; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.components.BottomBar; -import org.example.chaosgame.view.components.SideBar; -import org.example.chaosgame.view.components.TopBar; +import org.idatt2003.controller.ChaosGameController; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.view.components.BottomBar; +import org.idatt2003.view.components.SideBar; +import org.idatt2003.view.components.TopBar; /** * Class for the ChaosPage, extends GamePage. diff --git a/src/main/java/org/example/chaosgame/view/ExplorePage.java b/src/main/java/org/idatt2003/view/ExplorePage.java similarity index 82% rename from src/main/java/org/example/chaosgame/view/ExplorePage.java rename to src/main/java/org/idatt2003/view/ExplorePage.java index 610dce2..b905836 100644 --- a/src/main/java/org/example/chaosgame/view/ExplorePage.java +++ b/src/main/java/org/idatt2003/view/ExplorePage.java @@ -1,11 +1,11 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; -import org.example.chaosgame.controller.ExploreGameController; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.components.BottomBar; -import org.example.chaosgame.view.components.SideBar; -import org.example.chaosgame.view.components.TopBar; +import org.idatt2003.controller.ExploreGameController; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.view.components.BottomBar; +import org.idatt2003.view.components.SideBar; +import org.idatt2003.view.components.TopBar; /** * Class for the ExplorePage, extends GamePage. diff --git a/src/main/java/org/example/chaosgame/view/GamePage.java b/src/main/java/org/idatt2003/view/GamePage.java similarity index 95% rename from src/main/java/org/example/chaosgame/view/GamePage.java rename to src/main/java/org/idatt2003/view/GamePage.java index 9e74a74..0436586 100644 --- a/src/main/java/org/example/chaosgame/view/GamePage.java +++ b/src/main/java/org/idatt2003/view/GamePage.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; diff --git a/src/main/java/org/example/chaosgame/view/HomePage.java b/src/main/java/org/idatt2003/view/HomePage.java similarity index 94% rename from src/main/java/org/example/chaosgame/view/HomePage.java rename to src/main/java/org/idatt2003/view/HomePage.java index 052d6c7..caf76dc 100644 --- a/src/main/java/org/example/chaosgame/view/HomePage.java +++ b/src/main/java/org/idatt2003/view/HomePage.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; import java.util.Objects; import javafx.geometry.Pos; @@ -12,10 +12,10 @@ import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.scene.text.Text; -import org.example.chaosgame.controller.HomeController; -import org.example.chaosgame.controller.PageController; -import org.example.chaosgame.view.components.ExitButton; -import org.example.chaosgame.view.components.GameHeader; +import org.idatt2003.controller.PageController; +import org.idatt2003.controller.HomeController; +import org.idatt2003.view.components.ExitButton; +import org.idatt2003.view.components.GameHeader; /** * Class for the home page, extends StackPane. diff --git a/src/main/java/org/example/chaosgame/view/components/AlertUtility.java b/src/main/java/org/idatt2003/view/components/AlertUtility.java similarity index 91% rename from src/main/java/org/example/chaosgame/view/components/AlertUtility.java rename to src/main/java/org/idatt2003/view/components/AlertUtility.java index f0b2af5..2faab90 100644 --- a/src/main/java/org/example/chaosgame/view/components/AlertUtility.java +++ b/src/main/java/org/idatt2003/view/components/AlertUtility.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Alert; diff --git a/src/main/java/org/example/chaosgame/view/components/BaseSlider.java b/src/main/java/org/idatt2003/view/components/BaseSlider.java similarity index 88% rename from src/main/java/org/example/chaosgame/view/components/BaseSlider.java rename to src/main/java/org/idatt2003/view/components/BaseSlider.java index 6f21a49..7964c50 100644 --- a/src/main/java/org/example/chaosgame/view/components/BaseSlider.java +++ b/src/main/java/org/idatt2003/view/components/BaseSlider.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Slider; -import org.example.chaosgame.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.GameController; /** diff --git a/src/main/java/org/example/chaosgame/view/components/BottomBar.java b/src/main/java/org/idatt2003/view/components/BottomBar.java similarity index 88% rename from src/main/java/org/example/chaosgame/view/components/BottomBar.java rename to src/main/java/org/idatt2003/view/components/BottomBar.java index d0117d7..c377f8f 100644 --- a/src/main/java/org/example/chaosgame/view/components/BottomBar.java +++ b/src/main/java/org/idatt2003/view/components/BottomBar.java @@ -1,13 +1,13 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Pos; import javafx.scene.control.Label; import javafx.scene.layout.HBox; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.transformations.ExploreJulia; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.model.transformations.ExploreJulia; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.model.linalg.Complex; /** diff --git a/src/main/java/org/example/chaosgame/view/components/ColorPickerComponent.java b/src/main/java/org/idatt2003/view/components/ColorPickerComponent.java similarity index 93% rename from src/main/java/org/example/chaosgame/view/components/ColorPickerComponent.java rename to src/main/java/org/idatt2003/view/components/ColorPickerComponent.java index 643fe45..233d294 100644 --- a/src/main/java/org/example/chaosgame/view/components/ColorPickerComponent.java +++ b/src/main/java/org/idatt2003/view/components/ColorPickerComponent.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.function.Consumer; import javafx.scene.control.ColorPicker; diff --git a/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java b/src/main/java/org/idatt2003/view/components/CreateAffinePane.java similarity index 98% rename from src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java rename to src/main/java/org/idatt2003/view/components/CreateAffinePane.java index c8bdcdc..9d09728 100644 --- a/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java +++ b/src/main/java/org/idatt2003/view/components/CreateAffinePane.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java b/src/main/java/org/idatt2003/view/components/CreateFractalDialog.java similarity index 97% rename from src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java rename to src/main/java/org/idatt2003/view/components/CreateFractalDialog.java index 7ee80bf..c3d609e 100644 --- a/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java +++ b/src/main/java/org/idatt2003/view/components/CreateFractalDialog.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Insets; import javafx.scene.control.ButtonBar; diff --git a/src/main/java/org/example/chaosgame/view/components/CreateJuliaPane.java b/src/main/java/org/idatt2003/view/components/CreateJuliaPane.java similarity index 95% rename from src/main/java/org/example/chaosgame/view/components/CreateJuliaPane.java rename to src/main/java/org/idatt2003/view/components/CreateJuliaPane.java index ecbec34..37335ad 100644 --- a/src/main/java/org/example/chaosgame/view/components/CreateJuliaPane.java +++ b/src/main/java/org/idatt2003/view/components/CreateJuliaPane.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.TextField; import javafx.scene.layout.HBox; diff --git a/src/main/java/org/example/chaosgame/view/components/ExitButton.java b/src/main/java/org/idatt2003/view/components/ExitButton.java similarity index 82% rename from src/main/java/org/example/chaosgame/view/components/ExitButton.java rename to src/main/java/org/idatt2003/view/components/ExitButton.java index da97319..f2dff27 100644 --- a/src/main/java/org/example/chaosgame/view/components/ExitButton.java +++ b/src/main/java/org/idatt2003/view/components/ExitButton.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Button; diff --git a/src/main/java/org/example/chaosgame/view/components/FractalSelectionBox.java b/src/main/java/org/idatt2003/view/components/FractalSelectionBox.java similarity index 88% rename from src/main/java/org/example/chaosgame/view/components/FractalSelectionBox.java rename to src/main/java/org/idatt2003/view/components/FractalSelectionBox.java index f4f8edc..df1ea7e 100644 --- a/src/main/java/org/example/chaosgame/view/components/FractalSelectionBox.java +++ b/src/main/java/org/idatt2003/view/components/FractalSelectionBox.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.ComboBox; -import org.example.chaosgame.controller.ChaosGameController; +import org.idatt2003.controller.ChaosGameController; /** * Class for the FractalSelectionBox, extends ComboBox. diff --git a/src/main/java/org/example/chaosgame/view/components/GameButton.java b/src/main/java/org/idatt2003/view/components/GameButton.java similarity index 89% rename from src/main/java/org/example/chaosgame/view/components/GameButton.java rename to src/main/java/org/idatt2003/view/components/GameButton.java index 5f16d81..675e2bd 100644 --- a/src/main/java/org/example/chaosgame/view/components/GameButton.java +++ b/src/main/java/org/idatt2003/view/components/GameButton.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Button; diff --git a/src/main/java/org/example/chaosgame/view/components/GameHeader.java b/src/main/java/org/idatt2003/view/components/GameHeader.java similarity index 89% rename from src/main/java/org/example/chaosgame/view/components/GameHeader.java rename to src/main/java/org/idatt2003/view/components/GameHeader.java index 5de562b..25b0589 100644 --- a/src/main/java/org/example/chaosgame/view/components/GameHeader.java +++ b/src/main/java/org/idatt2003/view/components/GameHeader.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.text.Text; diff --git a/src/main/java/org/example/chaosgame/view/components/HomeButton.java b/src/main/java/org/idatt2003/view/components/HomeButton.java similarity index 93% rename from src/main/java/org/example/chaosgame/view/components/HomeButton.java rename to src/main/java/org/idatt2003/view/components/HomeButton.java index 2bec4e2..674bb26 100644 --- a/src/main/java/org/example/chaosgame/view/components/HomeButton.java +++ b/src/main/java/org/idatt2003/view/components/HomeButton.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.Objects; import javafx.scene.control.Button; diff --git a/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java b/src/main/java/org/idatt2003/view/components/MinMaxDialog.java similarity index 97% rename from src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java rename to src/main/java/org/idatt2003/view/components/MinMaxDialog.java index 3286a6b..5dd751a 100644 --- a/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java +++ b/src/main/java/org/idatt2003/view/components/MinMaxDialog.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.List; diff --git a/src/main/java/org/example/chaosgame/view/components/NumberOfStepsInput.java b/src/main/java/org/idatt2003/view/components/NumberOfStepsInput.java similarity index 91% rename from src/main/java/org/example/chaosgame/view/components/NumberOfStepsInput.java rename to src/main/java/org/idatt2003/view/components/NumberOfStepsInput.java index ee59938..19e052a 100644 --- a/src/main/java/org/example/chaosgame/view/components/NumberOfStepsInput.java +++ b/src/main/java/org/idatt2003/view/components/NumberOfStepsInput.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.TextField; diff --git a/src/main/java/org/example/chaosgame/view/components/SideBar.java b/src/main/java/org/idatt2003/view/components/SideBar.java similarity index 94% rename from src/main/java/org/example/chaosgame/view/components/SideBar.java rename to src/main/java/org/idatt2003/view/components/SideBar.java index d866803..5abf544 100644 --- a/src/main/java/org/example/chaosgame/view/components/SideBar.java +++ b/src/main/java/org/idatt2003/view/components/SideBar.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.layout.VBox; -import org.example.chaosgame.controller.ChaosGameController; -import org.example.chaosgame.controller.ExploreGameController; +import org.idatt2003.controller.ChaosGameController; +import org.idatt2003.controller.ExploreGameController; /** * Class for the sidebar, extends VBox. diff --git a/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java b/src/main/java/org/idatt2003/view/components/SliderImaginaryPart.java similarity index 83% rename from src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java rename to src/main/java/org/idatt2003/view/components/SliderImaginaryPart.java index 14649a0..584eaed 100644 --- a/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java +++ b/src/main/java/org/idatt2003/view/components/SliderImaginaryPart.java @@ -1,6 +1,6 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; -import org.example.chaosgame.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.GameController; /** * Class for the imaginary part slider, extends BaseSlider. diff --git a/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java b/src/main/java/org/idatt2003/view/components/SliderRealPart.java similarity index 81% rename from src/main/java/org/example/chaosgame/view/components/SliderRealPart.java rename to src/main/java/org/idatt2003/view/components/SliderRealPart.java index 4892696..df1ef2a 100644 --- a/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java +++ b/src/main/java/org/idatt2003/view/components/SliderRealPart.java @@ -1,6 +1,6 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; -import org.example.chaosgame.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.GameController; /** * Class for the real part slider, extends BaseSlider. diff --git a/src/main/java/org/example/chaosgame/view/components/TopBar.java b/src/main/java/org/idatt2003/view/components/TopBar.java similarity index 90% rename from src/main/java/org/example/chaosgame/view/components/TopBar.java rename to src/main/java/org/idatt2003/view/components/TopBar.java index 90a397a..4d03a7f 100644 --- a/src/main/java/org/example/chaosgame/view/components/TopBar.java +++ b/src/main/java/org/idatt2003/view/components/TopBar.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.HBox; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; /** * Class for the top bar, extends HBox. diff --git a/src/test/java/org/example/chaosgame/.idea/.gitignore b/src/test/java/org/idatt2003/.idea/.gitignore similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/.gitignore rename to src/test/java/org/idatt2003/.idea/.gitignore diff --git a/src/test/java/org/example/chaosgame/.idea/checkstyle-idea.xml b/src/test/java/org/idatt2003/.idea/checkstyle-idea.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/checkstyle-idea.xml rename to src/test/java/org/idatt2003/.idea/checkstyle-idea.xml diff --git a/src/test/java/org/example/chaosgame/.idea/misc.xml b/src/test/java/org/idatt2003/.idea/misc.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/misc.xml rename to src/test/java/org/idatt2003/.idea/misc.xml diff --git a/src/test/java/org/example/chaosgame/.idea/modules.xml b/src/test/java/org/idatt2003/.idea/modules.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/modules.xml rename to src/test/java/org/idatt2003/.idea/modules.xml diff --git a/src/test/java/org/example/chaosgame/.idea/vcs.xml b/src/test/java/org/idatt2003/.idea/vcs.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/vcs.xml rename to src/test/java/org/idatt2003/.idea/vcs.xml diff --git a/src/test/java/org/example/chaosgame/controller/ChaosGameControllerTest.java b/src/test/java/org/idatt2003/controller/ChaosGameControllerTest.java similarity index 94% rename from src/test/java/org/example/chaosgame/controller/ChaosGameControllerTest.java rename to src/test/java/org/idatt2003/controller/ChaosGameControllerTest.java index 1e16946..d4346ed 100644 --- a/src/test/java/org/example/chaosgame/controller/ChaosGameControllerTest.java +++ b/src/test/java/org/idatt2003/controller/ChaosGameControllerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionFactoryTest.java b/src/test/java/org/idatt2003/controller/ChaosGameDescriptionFactoryTest.java similarity index 91% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionFactoryTest.java rename to src/test/java/org/idatt2003/controller/ChaosGameDescriptionFactoryTest.java index 00e0ad8..bff2f30 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionFactoryTest.java +++ b/src/test/java/org/idatt2003/controller/ChaosGameDescriptionFactoryTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.controller; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertInstanceOf; @@ -6,12 +6,14 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.List; -import org.example.chaosgame.controller.ChaosGameDescriptionFactory; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; + +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.chaos.ChaosGameType; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameFileHandlerTest.java b/src/test/java/org/idatt2003/controller/ChaosGameFileHandlerTest.java similarity index 96% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameFileHandlerTest.java rename to src/test/java/org/idatt2003/controller/ChaosGameFileHandlerTest.java index 32c0fa2..75cc970 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameFileHandlerTest.java +++ b/src/test/java/org/idatt2003/controller/ChaosGameFileHandlerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.controller; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertInstanceOf; @@ -10,13 +10,14 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; -import org.example.chaosgame.controller.ChaosGameFileHandler; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; + +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/controller/ExploreGameControllerTest.java b/src/test/java/org/idatt2003/controller/ExploreGameControllerTest.java similarity index 94% rename from src/test/java/org/example/chaosgame/controller/ExploreGameControllerTest.java rename to src/test/java/org/idatt2003/controller/ExploreGameControllerTest.java index 05f43e0..8921677 100644 --- a/src/test/java/org/example/chaosgame/controller/ExploreGameControllerTest.java +++ b/src/test/java/org/idatt2003/controller/ExploreGameControllerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/example/chaosgame/controller/HomeControllerTest.java b/src/test/java/org/idatt2003/controller/HomeControllerTest.java similarity index 76% rename from src/test/java/org/example/chaosgame/controller/HomeControllerTest.java rename to src/test/java/org/idatt2003/controller/HomeControllerTest.java index c32f31a..1d8c4fb 100644 --- a/src/test/java/org/example/chaosgame/controller/HomeControllerTest.java +++ b/src/test/java/org/idatt2003/controller/HomeControllerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/example/chaosgame/controller/PageControllerTest.java b/src/test/java/org/idatt2003/controller/PageControllerTest.java similarity index 63% rename from src/test/java/org/example/chaosgame/controller/PageControllerTest.java rename to src/test/java/org/idatt2003/controller/PageControllerTest.java index 7cc833b..cf2e678 100644 --- a/src/test/java/org/example/chaosgame/controller/PageControllerTest.java +++ b/src/test/java/org/idatt2003/controller/PageControllerTest.java @@ -1,9 +1,7 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - class PageControllerTest { @Test diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosCanvasTest.java b/src/test/java/org/idatt2003/model/chaos/ChaosCanvasTest.java similarity index 96% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosCanvasTest.java rename to src/test/java/org/idatt2003/model/chaos/ChaosCanvasTest.java index a55ef4c..a9b76a0 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosCanvasTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ChaosCanvasTest.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionTest.java b/src/test/java/org/idatt2003/model/chaos/ChaosGameDescriptionTest.java similarity index 95% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionTest.java rename to src/test/java/org/idatt2003/model/chaos/ChaosGameDescriptionTest.java index c85c23b..d65f131 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ChaosGameDescriptionTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -8,10 +8,10 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.Arrays; import java.util.List; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.Transform2D; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameTest.java b/src/test/java/org/idatt2003/model/chaos/ChaosGameTest.java similarity index 94% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameTest.java rename to src/test/java/org/idatt2003/model/chaos/ChaosGameTest.java index 5d967a7..d913b66 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ChaosGameTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -7,12 +7,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; import java.util.List; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ExploreGameTest.java b/src/test/java/org/idatt2003/model/chaos/ExploreGameTest.java similarity index 76% rename from src/test/java/org/example/chaosgame/model/chaos/ExploreGameTest.java rename to src/test/java/org/idatt2003/model/chaos/ExploreGameTest.java index ab56bbb..463bc6f 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ExploreGameTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ExploreGameTest.java @@ -1,10 +1,10 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.ExploreJulia; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.controller.interfaces.Observer; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.ExploreJulia; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.controller.interfaces.Observer; import org.junit.jupiter.api.*; import java.util.ArrayList; @@ -47,7 +47,7 @@ class ExploreGameTest { newTransforms.add(new ExploreJulia(new Complex(1, 1))); ChaosGameDescription newDescription = new ChaosGameDescription(newMinCoords, newMaxCoords, newTransforms); - exploreGame.setExploreGame(newDescription, 200, 200); + exploreGame.setExploreGame(newDescription, new ChaosCanvas(200, 200, newMinCoords, newMaxCoords)); assertEquals(newDescription, exploreGame.getDescription()); ChaosCanvas canvas = exploreGame.getCanvas(); @@ -70,19 +70,6 @@ class ExploreGameTest { assertEquals(description, exploreGame.getDescription()); } - @Test - void testSetChaosCanvas() { - Vector2D newMinCoords = new Vector2D(-2, -2); - Vector2D newMaxCoords = new Vector2D(2, 2); - exploreGame.setChaosCanvas(newMinCoords, newMaxCoords, 300, 300); - - ChaosCanvas canvas = exploreGame.getCanvas(); - assertEquals(300, canvas.getWidth()); - assertEquals(300, canvas.getHeight()); - assertEquals(newMinCoords, canvas.getMinCoords()); - assertEquals(newMaxCoords, canvas.getMaxCoords()); - } - @Test void testExploreFractals() { diff --git a/src/test/java/org/example/chaosgame/model/linalg/ComplexTest.java b/src/test/java/org/idatt2003/model/linalg/ComplexTest.java similarity index 91% rename from src/test/java/org/example/chaosgame/model/linalg/ComplexTest.java rename to src/test/java/org/idatt2003/model/linalg/ComplexTest.java index 5cb701a..888884f 100644 --- a/src/test/java/org/example/chaosgame/model/linalg/ComplexTest.java +++ b/src/test/java/org/idatt2003/model/linalg/ComplexTest.java @@ -1,6 +1,5 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; -import org.example.chaosgame.model.linalg.Complex; import org.junit.jupiter.api.*; diff --git a/src/test/java/org/example/chaosgame/model/linalg/Matrix2x2Test.java b/src/test/java/org/idatt2003/model/linalg/Matrix2x2Test.java similarity index 90% rename from src/test/java/org/example/chaosgame/model/linalg/Matrix2x2Test.java rename to src/test/java/org/idatt2003/model/linalg/Matrix2x2Test.java index bb210cb..10b7ce9 100644 --- a/src/test/java/org/example/chaosgame/model/linalg/Matrix2x2Test.java +++ b/src/test/java/org/idatt2003/model/linalg/Matrix2x2Test.java @@ -1,7 +1,5 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/org/example/chaosgame/model/linalg/Vector2DTest.java b/src/test/java/org/idatt2003/model/linalg/Vector2DTest.java similarity index 97% rename from src/test/java/org/example/chaosgame/model/linalg/Vector2DTest.java rename to src/test/java/org/idatt2003/model/linalg/Vector2DTest.java index 3d43295..3511b0b 100644 --- a/src/test/java/org/example/chaosgame/model/linalg/Vector2DTest.java +++ b/src/test/java/org/idatt2003/model/linalg/Vector2DTest.java @@ -1,6 +1,5 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; -import org.example.chaosgame.model.linalg.Vector2D; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/org/example/chaosgame/model/transformations/AffineTransform2DTest.java b/src/test/java/org/idatt2003/model/transformations/AffineTransform2DTest.java similarity index 69% rename from src/test/java/org/example/chaosgame/model/transformations/AffineTransform2DTest.java rename to src/test/java/org/idatt2003/model/transformations/AffineTransform2DTest.java index 3ac169c..4b015b6 100644 --- a/src/test/java/org/example/chaosgame/model/transformations/AffineTransform2DTest.java +++ b/src/test/java/org/idatt2003/model/transformations/AffineTransform2DTest.java @@ -1,8 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Matrix2x2; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/org/example/chaosgame/model/transformations/ExploreJuliaTest.java b/src/test/java/org/idatt2003/model/transformations/ExploreJuliaTest.java similarity index 83% rename from src/test/java/org/example/chaosgame/model/transformations/ExploreJuliaTest.java rename to src/test/java/org/idatt2003/model/transformations/ExploreJuliaTest.java index 5590035..59942c3 100644 --- a/src/test/java/org/example/chaosgame/model/transformations/ExploreJuliaTest.java +++ b/src/test/java/org/idatt2003/model/transformations/ExploreJuliaTest.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; @@ -24,7 +24,7 @@ class ExploreJuliaTest { @Test void testGetComplex() { - assertEquals(complexPoint, exploreJulia.getComplex()); + Assertions.assertEquals(complexPoint, exploreJulia.getComplex()); } @Nested @DisplayName("Test transforms") diff --git a/src/test/java/org/example/chaosgame/model/transformations/JuliaTransformTest.java b/src/test/java/org/idatt2003/model/transformations/JuliaTransformTest.java similarity index 70% rename from src/test/java/org/example/chaosgame/model/transformations/JuliaTransformTest.java rename to src/test/java/org/idatt2003/model/transformations/JuliaTransformTest.java index ef90b6a..1950a0a 100644 --- a/src/test/java/org/example/chaosgame/model/transformations/JuliaTransformTest.java +++ b/src/test/java/org/idatt2003/model/transformations/JuliaTransformTest.java @@ -1,8 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.JuliaTransform; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; -- GitLab