first commit

This commit is contained in:
2019-08-13 11:40:00 -05:00
commit a03be258da
155 changed files with 1145534 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="Lab 1:jar">
<output-path>$PROJECT_DIR$/out/artifacts/Lab_1_jar</output-path>
<root id="archive" name="Lab 1.jar">
<element id="module-output" name="Lab 1" />
</root>
</artifact>
</component>

18
Labs/Lab 1/.idea/checkstyle-idea.xml generated Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CheckStyle-IDEA">
<option name="configuration">
<map>
<entry key="active-configuration" value="LOCAL_FILE:C:/Users/barnestr/OneDrive - Milwaukee School of Engineering/Documents/2018-2019/CS 2852/CS2852_checkStyle-v2.xml:MSOE-2852" />
<entry key="checkstyle-version" value="8.5" />
<entry key="copy-libs" value="true" />
<entry key="location-0" value="BUNDLED:(bundled):Sun Checks" />
<entry key="location-1" value="BUNDLED:(bundled):Google Checks" />
<entry key="location-2" value="LOCAL_FILE:C:/Users/barnestr/OneDrive - Milwaukee School of Engineering/Documents/2018-2019/CS 2852/CS2852_checkStyle-v2.xml:MSOE-2852" />
<entry key="scan-before-checkin" value="false" />
<entry key="scanscope" value="JavaOnly" />
<entry key="suppress-errors" value="false" />
</map>
</option>
</component>
</project>

View File

@@ -0,0 +1,6 @@
This folder contains libraries copied from the "Lab 1" project.
It is managed by the CheckStyle-IDEA IDE plugin.
Do not modify this folder while the IDE is running.
When the IDE is stopped, you may delete this folder at any time. It will be recreated as needed.
In order to prevent the CheckStyle-IDEA IDE plugin from creating this folder,
uncheck the "Copy libraries from project directory" option in the CheckStyle-IDEA settings dialog.

6
Labs/Lab 1/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
Labs/Lab 1/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Lab 1.iml" filepath="$PROJECT_DIR$/Lab 1.iml" />
</modules>
</component>
</project>

664
Labs/Lab 1/.idea/workspace.xml generated Normal file
View File

@@ -0,0 +1,664 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ArtifactsWorkspaceSettings">
<artifacts-to-build>
<artifact name="Lab 1:jar" />
</artifacts-to-build>
</component>
<component name="BookmarkManager">
<bookmark url="file://$PROJECT_DIR$/src/barnestr/Picture.java" line="220" />
</component>
<component name="ChangeListManager">
<list default="true" id="76fcb0d6-a8a2-49bd-b95a-769e5cc600ba" name="Default" comment="" />
<ignored path="$PROJECT_DIR$/out/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="CheckStyle-IDEA-workspace">
<option name="configuration">
<map>
<entry key="last-active-plugin-version" value="5.22.1" />
</map>
</option>
</component>
<component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/Lab_1$Dot2Dot.coverage" NAME="Dot2Dot Coverage Results" MODIFIED="1537831713217" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
<FILTER>barnestr.*</FILTER>
</SUITE>
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="Dot2Dot.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="7" selection-start-line="7" selection-end-line="7" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Dot2DotController.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="32" column="15" selection-start-line="32" selection-start-column="15" selection-end-line="32" selection-end-column="15" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Picture.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="23" column="13" selection-start-line="23" selection-start-column="13" selection-end-line="23" selection-end-column="13" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Dot.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret line="6" column="3" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="FxmlFile" />
<option value="Class" />
</list>
</option>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/barnestr/Dot.java" />
<option value="$PROJECT_DIR$/src/barnestr/Dot2DotController.java" />
<option value="$PROJECT_DIR$/src/barnestr/Dot2Dot.java" />
<option value="$PROJECT_DIR$/src/barnestr/Dot2DotController.fxml" />
<option value="$PROJECT_DIR$/src/barnestr/Picture.java" />
</list>
</option>
</component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="NodePackageJsonFileManager">
<packageJsonPaths />
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="-7" />
<option name="y" value="-7" />
<option name="width" value="2062" />
<option name="height" value="1166" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="AndroidView" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="Lab 1" type="b2602c69:ProjectViewProjectNode" />
<item name="Lab 1" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Lab 1" type="b2602c69:ProjectViewProjectNode" />
<item name="Lab 1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Lab 1" type="b2602c69:ProjectViewProjectNode" />
<item name="Lab 1" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="barnestr" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../Lab 5" />
<property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="settings.editor.selected.configurable" value="org.infernus.idea.checkstyle.CheckStyleConfigurable" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager">
<configuration default="true" type="Applet" factoryName="Applet">
<option name="HEIGHT" value="0" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="WIDTH" value="0" />
</configuration>
<configuration name="Dot2Dot" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="barnestr.Dot2Dot" />
<module name="Lab 1" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="barnestr.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<patterns />
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG">
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="OUTPUT_DIRECTORY" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<properties />
<listeners />
</configuration>
<configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
</configuration>
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
<option name="PROGRAM_PARAMETERS" />
<predefined_log_file id="idea.log" enabled="true" />
</configuration>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="76fcb0d6-a8a2-49bd-b95a-769e5cc600ba" name="Default" comment="" />
<created>1536069491966</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1536069491966</updated>
<workItem from="1536069495966" duration="35574000" />
<workItem from="1537147453015" duration="3592000" />
<workItem from="1537151224117" duration="30184000" />
<workItem from="1537831853813" duration="21067000" />
<workItem from="1537988605146" duration="22025000" />
<workItem from="1538486036499" duration="100000" />
<workItem from="1538525839554" duration="867000" />
<workItem from="1538526890151" duration="2473000" />
<workItem from="1538530822551" duration="3387000" />
<workItem from="1538534364189" duration="16000" />
<workItem from="1538582090524" duration="3151000" />
<workItem from="1538695364795" duration="4272000" />
<workItem from="1538703267622" duration="601000" />
<workItem from="1538956108181" duration="3387000" />
<workItem from="1538959596583" duration="871000" />
<workItem from="1538960879326" duration="4124000" />
<workItem from="1538977587586" duration="253000" />
<workItem from="1539007452644" duration="117000" />
<workItem from="1539015453005" duration="7546000" />
<workItem from="1539030343993" duration="26000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="145707000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="2576" height="1416" extended-state="6" />
<layout>
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="right" id="Palette&#9;" order="3" />
<window_info id="Image Layers" order="2" />
<window_info anchor="right" id="Capture Analysis" order="3" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="right" id="Maven Projects" order="3" />
<window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Terminal" order="7" />
<window_info id="Capture Tool" order="2" />
<window_info id="Designer" order="2" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.1015625" />
<window_info anchor="right" id="Database" order="3" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info id="UI Designer" order="2" />
<window_info anchor="right" id="Theme Preview" order="3" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="CheckStyle" order="7" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Find" order="1" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="39" />
</breakpoint-manager>
<watches-manager>
<configuration name="Application">
<watch expression="cv" language="JAVA" />
<watch expression="dots" language="JAVA" />
<watch expression="original.dots" language="JAVA" />
</configuration>
</watches-manager>
</component>
<component name="debuggerHistoryManager">
<expressions id="watch">
<expression>
<expression-string>cv</expression-string>
<language-id>JAVA</language-id>
<evaluation-mode>EXPRESSION</evaluation-mode>
</expression>
</expressions>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="33" column="15" lean-forward="true" selection-start-line="33" selection-start-column="15" selection-end-line="33" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="459">
<caret line="37" selection-start-line="37" selection-end-line="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2601">
<caret line="172" selection-start-line="172" selection-end-line="172" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="833">
<caret line="59" selection-start-line="59" selection-end-line="59" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2584">
<caret line="179" column="42" lean-forward="true" selection-start-line="179" selection-start-column="42" selection-end-line="179" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="629">
<caret line="37" selection-start-line="37" selection-end-line="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2958">
<caret line="201" column="7" lean-forward="true" selection-start-line="201" selection-start-column="7" selection-end-line="201" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2601">
<caret line="172" lean-forward="true" selection-start-line="172" selection-end-line="172" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="833">
<caret line="59" selection-start-line="59" selection-end-line="59" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="714">
<caret line="60" column="34" lean-forward="true" selection-start-line="60" selection-start-column="34" selection-end-line="60" selection-end-column="34" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="20" lean-forward="true" selection-start-line="20" selection-end-line="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="969">
<caret line="70" column="97" lean-forward="true" selection-start-line="70" selection-start-column="97" selection-end-line="70" selection-end-column="97" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="13" column="44" selection-start-line="13" selection-start-column="44" selection-end-line="13" selection-end-column="44" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="16" column="17" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="20" selection-start-line="20" selection-end-line="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="476">
<caret line="37" column="36" selection-start-line="37" selection-start-column="36" selection-end-line="37" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="13" column="44" selection-start-line="13" selection-start-column="44" selection-end-line="13" selection-end-column="44" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="442">
<caret line="26" column="24" selection-start-line="26" selection-start-column="24" selection-end-line="26" selection-end-column="24" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272">
<caret line="16" column="17" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1071">
<caret line="63" lean-forward="true" selection-start-line="63" selection-end-line="63" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="13" column="44" lean-forward="true" selection-start-line="13" selection-start-column="44" selection-end-line="13" selection-end-column="44" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="442">
<caret line="26" column="24" lean-forward="true" selection-start-line="26" selection-start-column="24" selection-end-line="26" selection-end-column="24" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272">
<caret line="16" column="17" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1139">
<caret line="67" lean-forward="true" selection-end-line="67" />
</state>
</provider>
</entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/src.zip!/java/util/Scanner.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/src.zip!/java/lang/Float.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/jre/lib/rt.jar!/sun/misc/FloatingDecimal.class" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/fxml/FXMLLoader.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/event/Event.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/scene/Scene.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/scene/control/MenuItem.java" />
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1071">
<caret line="63" selection-start-line="63" selection-end-line="63" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="13" column="44" selection-start-line="13" selection-start-column="44" selection-end-line="13" selection-end-column="44" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="16" column="17" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="18" column="9" lean-forward="true" selection-start-line="18" selection-start-column="9" selection-end-line="18" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/src.zip!/java/util/Scanner.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/src.zip!/java/lang/Float.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/jre/lib/rt.jar!/sun/misc/FloatingDecimal.class" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/scene/control/MenuItem.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/scene/Scene.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/src.zip!/java/util/ArrayList.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/scene/Node.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/event/Event.java" />
<entry file="file://$PROJECT_DIR$/Homework2Results.txt" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/fxml/FXMLLoader.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_144/javafx-src.zip!/javafx/scene/control/RadioMenuItem.java" />
<entry file="jar://C:/Program Files/Java/jdk1.8.0_181/src.zip!/java/util/ArrayList.java" />
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret line="6" column="3" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2Dot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="7" selection-start-line="7" selection-end-line="7" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Dot2DotController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="32" column="15" selection-start-line="32" selection-start-column="15" selection-end-line="32" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/barnestr/Picture.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="23" column="13" selection-start-line="23" selection-start-column="13" selection-end-line="23" selection-end-column="13" />
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
<settings>
<artifact-editor />
<last-edited>Lab 1:jar</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.5" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="FacetStructureConfigurable.UI">
<settings>
<last-edited>No facets are configured</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="JdkListConfigurable.UI">
<settings>
<last-edited>1.8</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>Lab 1</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

18
Labs/Lab 1/Lab 1.iml Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="CheckStyle-IDEA-Module">
<option name="configuration">
<map>
<entry key="active-configuration" value="LOCAL_FILE:C:/Users/barnestr/OneDrive - Milwaukee School of Engineering/Documents/2018-2019/CS 2852/CS2852_checkStyle-v2.xml:MSOE-2852" />
</map>
</option>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

4355
Labs/Lab 1/balloon.dot Normal file

File diff suppressed because it is too large Load Diff

100
Labs/Lab 1/balloon100.dot Normal file
View File

@@ -0,0 +1,100 @@
0.472, 0.25
0.296, 0.5660000000000001
0.286, 0.622
0.306, 0.7
0.38, 0.65
0.402, 0.6619999999999999
0.478, 0.64
0.51, 0.6599999999999999
0.606, 0.64
0.638, 0.6639999999999999
0.674, 0.6659999999999999
0.684, 0.652
0.73, 0.69
0.76, 0.69
0.716, 0.774
0.684, 0.776
0.664, 0.758
0.614, 0.76
0.596, 0.742
0.528, 0.758
0.53, 0.76
0.476, 0.756
0.462, 0.742
0.456, 0.752
0.388, 0.754
0.356, 0.774
0.306, 0.698
0.306, 0.712
0.402, 0.8200000000000001
0.444, 0.808
0.466, 0.8180000000000001
0.476, 0.802
0.562, 0.812
0.566, 0.806
0.614, 0.8160000000000001
0.616, 0.81
0.628, 0.8220000000000001
0.654, 0.8200000000000001
0.714, 0.778
0.636, 0.8260000000000001
0.53, 0.844
0.414, 0.8220000000000001
0.412, 0.8160000000000001
0.412, 0.8200000000000001
0.494, 0.84
0.408, 0.778
0.376, 0.6759999999999999
0.49, 0.236
0.512, 0.236
0.508, 0.272
0.504, 0.272
0.502, 0.30600000000000005
0.498, 0.30600000000000005
0.46, 0.734
0.508, 0.844
0.556, 0.83
0.598, 0.5880000000000001
0.558, 0.242
0.59, 0.244
0.692, 0.654
0.67, 0.752
0.6, 0.8280000000000001
0.568, 0.84
0.624, 0.836
0.7, 0.792
0.766, 0.6719999999999999
0.762, 0.544
0.572, 0.274
0.49, 0.268
0.468, 0.31799999999999995
0.596, 0.32399999999999995
0.464, 0.31999999999999995
0.33, 0.482
0.478, 0.22999999999999998
0.472, 0.22999999999999998
0.49, 0.15200000000000002
0.582, 0.15000000000000002
0.592, 0.242
0.74, 0.504
0.596, 0.238
0.474, 0.236
0.476, 0.21799999999999997
0.588, 0.21799999999999997
0.558, 0.16400000000000003
0.492, 0.21999999999999997
0.484, 0.20799999999999996
0.532, 0.16200000000000003
0.52, 0.16200000000000003
0.576, 0.21799999999999997
0.58, 0.20799999999999996
0.538, 0.16200000000000003
0.578, 0.16200000000000003
0.518, 0.21599999999999997
0.476, 0.21599999999999997
0.512, 0.16200000000000003
0.492, 0.16200000000000003
0.546, 0.21199999999999997
0.578, 0.19199999999999995
0.542, 0.21599999999999997
0.488, 0.17000000000000004

View File

@@ -0,0 +1,56 @@
0.286, 0.622
0.306, 0.7
0.478, 0.64
0.684, 0.652
0.76, 0.69
0.716, 0.7739999999999999
0.356, 0.7739999999999999
0.306, 0.698
0.402, 0.8200000000000002
0.7139999999999999, 0.7779999999999999
0.53, 0.844
0.412, 0.8160000000000002
0.494, 0.84
0.408, 0.7779999999999999
0.37600000000000006, 0.6759999999999999
0.49, 0.23599999999999993
0.512, 0.23599999999999993
0.45999999999999996, 0.734
0.508, 0.844
0.556, 0.8300000000000001
0.558, 0.24200000000000002
0.59, 0.24400000000000008
0.692, 0.654
0.67, 0.7520000000000001
0.568, 0.84
0.7, 0.792
0.766, 0.6719999999999999
0.762, 0.544
0.572, 0.27399999999999997
0.49, 0.26800000000000007
0.468, 0.3179999999999999
0.596, 0.32399999999999995
0.4640000000000001, 0.31999999999999995
0.33, 0.48199999999999993
0.49, 0.15200000000000008
0.582, 0.15
0.74, 0.504
0.596, 0.23800000000000002
0.474, 0.23599999999999993
0.476, 0.21800000000000005
0.588, 0.21800000000000005
0.558, 0.16400000000000006
0.492, 0.21999999999999997
0.48400000000000004, 0.208
0.532, 0.16199999999999998
0.52, 0.16199999999999998
0.576, 0.21800000000000005
0.538, 0.16199999999999998
0.578, 0.16199999999999998
0.476, 0.21599999999999997
0.512, 0.16199999999999998
0.492, 0.16199999999999998
0.546, 0.212
0.578, 0.192
0.542, 0.21599999999999997
0.48800000000000004, 0.17000000000000012

361
Labs/Lab 1/circle.dot Normal file
View File

@@ -0,0 +1,361 @@
0.9, 0.5
0.8999390780625565, 0.5069809625749134
0.8997563308076384, 0.5139597986810004
0.8994518139018295, 0.5209343824971775
0.8990256201039297, 0.5279025894976501
0.8984778792366983, 0.5348622970990633
0.8978087581473093, 0.5418113853070614
0.8970184606565288, 0.548747737362059
0.8961072274966282, 0.5556692403840262
0.8950753362380551, 0.5625737860160923
0.8939231012048832, 0.5694592710667721
0.8926508733790657, 0.576323598150618
0.8912590402935223, 0.5831646763271037
0.8897480259140942, 0.589980421737546
0.8881182905103986, 0.5967687582398671
0.8863703305156274, 0.6035276180410083
0.8845046783753276, 0.6102549423267997
0.8825219023852142, 0.6169486818890947
0.8804226065180614, 0.623606797749979
0.8782074302397267, 0.6302272617828627
0.8758770483143634, 0.6368080573302675
0.8734321705988808, 0.6433471798181201
0.8708735418267151, 0.6498426373663648
0.8682019413809762, 0.6562924513957095
0.8654181830570404, 0.6626946572303201
0.8625231148146599, 0.6690473046962798
0.8595176185196669, 0.675348458715631
0.8564026096753472, 0.6815961998958187
0.8531790371435708, 0.6877886251143563
0.8498478828557583, 0.6939238480985348
0.8464101615137756, 0.7
0.842866920280845, 0.7060152299640217
0.8392192384625704, 0.7119677056932819
0.8354682271781697, 0.7178556140060108
0.8316150290220167, 0.7236771613882987
0.8276608177155967, 0.7294305745404184
0.823606797749979, 0.7351141009169893
0.8194542040189172, 0.7407260092608193
0.8152043014426889, 0.7462645901302633
0.8108583845827884, 0.751728156419935
0.8064177772475912, 0.7571150438746157
0.8018838320891089, 0.7624236115962029
0.7972579301909577, 0.7676522425435433
0.7925414806476683, 0.7727993440249994
0.7877359201354606, 0.7778633481835989
0.7828427124746191, 0.782842712474619
0.777863348183599, 0.7877359201354605
0.7727993440249994, 0.7925414806476683
0.7676522425435433, 0.7972579301909577
0.7624236115962029, 0.8018838320891089
0.7571150438746157, 0.8064177772475912
0.751728156419935, 0.8108583845827884
0.7462645901302634, 0.8152043014426889
0.7407260092608193, 0.8194542040189172
0.7351141009169893, 0.823606797749979
0.7294305745404184, 0.8276608177155967
0.7236771613882987, 0.8316150290220168
0.7178556140060108, 0.8354682271781696
0.7119677056932819, 0.8392192384625705
0.7060152299640218, 0.842866920280845
0.7000000000000001, 0.8464101615137755
0.6939238480985348, 0.8498478828557583
0.6877886251143563, 0.8531790371435708
0.6815961998958188, 0.8564026096753472
0.675348458715631, 0.8595176185196669
0.6690473046962798, 0.8625231148146599
0.6626946572303201, 0.8654181830570404
0.6562924513957096, 0.8682019413809761
0.6498426373663648, 0.8708735418267151
0.6433471798181202, 0.8734321705988808
0.6368080573302676, 0.8758770483143634
0.6302272617828627, 0.8782074302397267
0.623606797749979, 0.8804226065180614
0.6169486818890947, 0.8825219023852142
0.6102549423267997, 0.8845046783753276
0.6035276180410083, 0.8863703305156274
0.5967687582398672, 0.8881182905103986
0.589980421737546, 0.8897480259140942
0.5831646763271038, 0.8912590402935223
0.576323598150618, 0.8926508733790657
0.5694592710667722, 0.8939231012048832
0.5625737860160924, 0.8950753362380551
0.5556692403840263, 0.8961072274966282
0.548747737362059, 0.8970184606565288
0.5418113853070614, 0.8978087581473093
0.5348622970990633, 0.8984778792366983
0.5279025894976502, 0.8990256201039297
0.5209343824971776, 0.8994518139018295
0.5139597986810004, 0.8997563308076384
0.5069809625749133, 0.8999390780625565
0.5, 0.9
0.4930190374250866, 0.8999390780625565
0.4860402013189997, 0.8997563308076384
0.47906561750282256, 0.8994518139018295
0.4720974105023499, 0.8990256201039297
0.4651377029009367, 0.8984778792366983
0.45818861469293864, 0.8978087581473093
0.45125226263794105, 0.8970184606565288
0.44433075961597385, 0.8961072274966282
0.4374262139839076, 0.895075336238055
0.43054072893322787, 0.8939231012048832
0.42367640184938204, 0.8926508733790657
0.41683532367289633, 0.8912590402935223
0.41001957826245405, 0.8897480259140942
0.40323124176013286, 0.8881182905103986
0.39647238195899165, 0.8863703305156274
0.3897450576732004, 0.8845046783753276
0.3830513181109053, 0.8825219023852142
0.37639320225002104, 0.8804226065180615
0.3697727382171374, 0.8782074302397267
0.36319194266973254, 0.8758770483143634
0.3566528201818799, 0.8734321705988808
0.35015736263363517, 0.8708735418267151
0.34370754860429054, 0.8682019413809762
0.33730534276967994, 0.8654181830570404
0.3309526953037203, 0.86252311481466
0.324651541284369, 0.8595176185196668
0.3184038001041813, 0.8564026096753472
0.31221137488564377, 0.8531790371435708
0.3060761519014652, 0.8498478828557583
0.30000000000000004, 0.8464101615137756
0.2939847700359783, 0.842866920280845
0.28803229430671806, 0.8392192384625705
0.28214438599398917, 0.8354682271781697
0.2763228386117013, 0.8316150290220168
0.2705694254595816, 0.8276608177155969
0.26488589908301075, 0.823606797749979
0.25927399073918067, 0.8194542040189171
0.25373540986973664, 0.8152043014426889
0.2482718435800651, 0.8108583845827884
0.24288495612538424, 0.8064177772475912
0.23757638840379697, 0.8018838320891087
0.2323477574564567, 0.7972579301909577
0.22720065597500066, 0.7925414806476683
0.2221366518164012, 0.7877359201354606
0.217157287525381, 0.7828427124746191
0.2122640798645395, 0.7778633481835988
0.20745851935233178, 0.7727993440249994
0.20274206980904236, 0.7676522425435434
0.19811616791089115, 0.7624236115962029
0.19358222275240883, 0.7571150438746158
0.1891416154172117, 0.7517281564199352
0.1847956985573112, 0.7462645901302634
0.18054579598108278, 0.7407260092608192
0.17639320225002103, 0.7351141009169893
0.17233918228440337, 0.7294305745404186
0.16838497097798333, 0.7236771613882987
0.1645317728218303, 0.7178556140060107
0.1607807615374296, 0.7119677056932819
0.15713307971915508, 0.7060152299640218
0.15358983848622448, 0.7
0.1501521171442417, 0.6939238480985349
0.14682096285642926, 0.6877886251143565
0.14359739032465285, 0.6815961998958188
0.14048238148033315, 0.6753484587156309
0.13747688518534001, 0.6690473046962798
0.13458181694295968, 0.6626946572303202
0.13179805861902394, 0.6562924513957097
0.12912645817328505, 0.6498426373663649
0.12656782940111927, 0.6433471798181201
0.12412295168563664, 0.6368080573302676
0.1217925697602733, 0.6302272617828628
0.11957739348193858, 0.6236067977499791
0.11747809761478578, 0.6169486818890948
0.11549532162467252, 0.6102549423267999
0.1136296694843727, 0.6035276180410084
0.11188170948960141, 0.5967687582398671
0.11025197408590587, 0.589980421737546
0.10874095970647768, 0.5831646763271037
0.10734912662093438, 0.576323598150618
0.10607689879511678, 0.5694592710667721
0.10492466376194493, 0.5625737860160924
0.10389277250337187, 0.5556692403840263
0.1029815393434712, 0.5487477373620591
0.10219124185269068, 0.5418113853070615
0.10152212076330175, 0.5348622970990634
0.10097437989607028, 0.5279025894976502
0.10054818609817046, 0.5209343824971775
0.10024366919236166, 0.5139597986810003
0.10006092193744348, 0.5069809625749134
0.09999999999999998, 0.5
0.10006092193744348, 0.49301903742508674
0.10024366919236166, 0.48604020131899967
0.10054818609817046, 0.47906561750282256
0.10097437989607028, 0.47209741050235005
0.10152212076330175, 0.4651377029009368
0.10219124185269063, 0.45818861469293876
0.1029815393434712, 0.4512522626379409
0.10389277250337187, 0.4443307596159738
0.10492466376194487, 0.4374262139839077
0.10607689879511678, 0.4305407289332278
0.10734912662093438, 0.4236764018493821
0.10874095970647768, 0.4168353236728964
0.11025197408590587, 0.410019578262454
0.11188170948960136, 0.403231241760133
0.11362966948437259, 0.39647238195899187
0.11549532162467241, 0.3897450576732004
0.11747809761478578, 0.3830513181109054
0.11957739348193858, 0.37639320225002093
0.1217925697602733, 0.3697727382171373
0.12412295168563658, 0.36319194266973254
0.12656782940111927, 0.3566528201818798
0.129126458173285, 0.35015736263363517
0.13179805861902383, 0.34370754860429054
0.13458181694295956, 0.33730534276968005
0.13747688518533996, 0.3309526953037203
0.1404823814803331, 0.3246515412843691
0.14359739032465274, 0.31840380010418146
0.1468209628564292, 0.31221137488564366
0.15015211714424165, 0.3060761519014652
0.15358983848622454, 0.29999999999999993
0.15713307971915502, 0.29398477003597834
0.16078076153742954, 0.28803229430671806
0.16453177282183035, 0.28214438599398917
0.16838497097798322, 0.2763228386117013
0.17233918228440315, 0.2705694254595816
0.17639320225002098, 0.26488589908301075
0.18054579598108278, 0.2592739907391808
0.1847956985573111, 0.25373540986973686
0.18914161541721164, 0.24827184358006493
0.19358222275240872, 0.2428849561253843
0.1981161679108912, 0.23757638840379702
0.2027420698090423, 0.2323477574564567
0.20745851935233178, 0.22720065597500066
0.21226407986453955, 0.22213665181640102
0.21715728752538094, 0.217157287525381
0.22213665181640102, 0.21226407986453966
0.22720065597500044, 0.20745851935233195
0.23234775745645658, 0.20274206980904236
0.2375763884037969, 0.19811616791089132
0.2428849561253842, 0.19358222275240883
0.24827184358006515, 0.18914161541721153
0.25373540986973675, 0.18479569855731115
0.25927399073918067, 0.18054579598108284
0.2648858990830107, 0.17639320225002103
0.2705694254595814, 0.17233918228440337
0.2763228386117011, 0.16838497097798344
0.28214438599398917, 0.16453177282183035
0.28803229430671795, 0.1607807615374296
0.2939847700359782, 0.15713307971915513
0.2999999999999998, 0.1535898384862246
0.30607615190146525, 0.15015211714424165
0.31221137488564366, 0.1468209628564292
0.31840380010418123, 0.14359739032465285
0.3246515412843689, 0.14048238148033326
0.33095269530372, 0.13747688518534007
0.33730534276967994, 0.13458181694295956
0.3437075486042904, 0.13179805861902388
0.35015736263363506, 0.12912645817328505
0.3566528201818797, 0.12656782940111933
0.3631919426697322, 0.1241229516856367
0.3697727382171373, 0.12179256976027325
0.376393202250021, 0.11957739348193858
0.38305131811090515, 0.11747809761478584
0.38974505767320045, 0.11549532162467241
0.39647238195899176, 0.11362966948437264
0.40323124176013286, 0.11188170948960141
0.4100195782624539, 0.11025197408590592
0.4168353236728961, 0.10874095970647774
0.4236764018493818, 0.10734912662093443
0.43054072893322787, 0.10607689879511678
0.4374262139839076, 0.10492466376194493
0.444330759615974, 0.10389277250337181
0.45125226263794116, 0.10298153934347115
0.45818861469293864, 0.10219124185269063
0.4651377029009367, 0.10152212076330175
0.47209741050234977, 0.10097437989607028
0.4790656175028223, 0.10054818609817046
0.48604020131899933, 0.10024366919236172
0.4930190374250866, 0.10006092193744348
0.49999999999999994, 0.09999999999999998
0.5069809625749132, 0.10006092193744348
0.5139597986810005, 0.10024366919236166
0.5209343824971776, 0.10054818609817046
0.5279025894976501, 0.10097437989607028
0.5348622970990632, 0.10152212076330175
0.5418113853070612, 0.10219124185269063
0.5487477373620591, 0.1029815393434712
0.5556692403840262, 0.10389277250337181
0.5625737860160923, 0.10492466376194487
0.569459271066772, 0.10607689879511673
0.5763235981506177, 0.10734912662093432
0.5831646763271034, 0.10874095970647768
0.589980421737546, 0.11025197408590587
0.596768758239867, 0.11188170948960136
0.6035276180410085, 0.1136296694843727
0.6102549423267998, 0.11549532162467246
0.6169486818890947, 0.11747809761478578
0.6236067977499788, 0.11957739348193852
0.6302272617828626, 0.1217925697602732
0.6368080573302672, 0.12412295168563658
0.6433471798181198, 0.12656782940111916
0.6498426373663648, 0.129126458173285
0.6562924513957094, 0.13179805861902377
0.6626946572303203, 0.13458181694295968
0.6690473046962798, 0.13747688518534007
0.675348458715631, 0.14048238148033315
0.6815961998958187, 0.1435973903246528
0.6877886251143561, 0.14682096285642915
0.6939238480985346, 0.15015211714424154
0.7000000000000001, 0.15358983848622454
0.7060152299640217, 0.15713307971915502
0.7119677056932818, 0.16078076153742954
0.7178556140060106, 0.1645317728218303
0.7236771613882985, 0.16838497097798316
0.7294305745404184, 0.17233918228440326
0.7351141009169891, 0.17639320225002098
0.7407260092608192, 0.18054579598108278
0.7462645901302634, 0.18479569855731126
0.751728156419935, 0.18914161541721164
0.7571150438746157, 0.19358222275240872
0.7624236115962029, 0.19811616791089115
0.7676522425435431, 0.20274206980904214
0.7727993440249992, 0.20745851935233156
0.7778633481835986, 0.21226407986453927
0.7828427124746189, 0.21715728752538094
0.7877359201354603, 0.22213665181640097
0.7925414806476683, 0.22720065597500066
0.7972579301909577, 0.23234775745645675
0.8018838320891089, 0.23757638840379702
0.8064177772475911, 0.24288495612538413
0.8108583845827882, 0.24827184358006488
0.8152043014426886, 0.2537354098697364
0.8194542040189172, 0.25927399073918067
0.823606797749979, 0.26488589908301063
0.8276608177155966, 0.2705694254595814
0.8316150290220166, 0.27632283861170104
0.8354682271781697, 0.28214438599398917
0.8392192384625702, 0.2880322943067177
0.8428669202808449, 0.2939847700359782
0.8464101615137753, 0.2999999999999998
0.8498478828557583, 0.3060761519014652
0.8531790371435708, 0.31221137488564366
0.8564026096753472, 0.31840380010418123
0.8595176185196669, 0.3246515412843692
0.8625231148146599, 0.33095269530371996
0.8654181830570404, 0.33730534276967994
0.8682019413809761, 0.3437075486042901
0.870873541826715, 0.35015736263363506
0.8734321705988806, 0.3566528201818797
0.8758770483143634, 0.36319194266973254
0.8782074302397267, 0.36977273821713696
0.8804226065180614, 0.37639320225002093
0.8825219023852142, 0.3830513181109055
0.8845046783753274, 0.3897450576732001
0.8863703305156274, 0.3964723819589917
0.8881182905103986, 0.40323124176013286
0.8897480259140941, 0.41001957826245383
0.8912590402935223, 0.41683532367289605
0.8926508733790657, 0.42367640184938216
0.8939231012048832, 0.4305407289332275
0.895075336238055, 0.4374262139839076
0.8961072274966282, 0.4443307596159736
0.8970184606565288, 0.45125226263794077
0.8978087581473093, 0.45818861469293864
0.8984778792366983, 0.4651377029009367
0.8990256201039297, 0.4720974105023501
0.8994518139018295, 0.4790656175028222
0.8997563308076384, 0.48604020131899967
0.8999390780625565, 0.49301903742508624
0.9, 0.4999999999999999

213
Labs/Lab 1/d2d.txt Normal file
View File

@@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2018-10-08T00:47:20</date>
<millis>1538977640377</millis>
<sequence>0</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>load</method>
<thread>14</thread>
<message>File successfully loaded</message>
</record>
<record>
<date>2018-10-08T00:47:48</date>
<millis>1538977668878</millis>
<sequence>1</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.341</message>
</record>
<record>
<date>2018-10-08T00:48:31</date>
<millis>1538977711661</millis>
<sequence>2</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:01.1006</message>
</record>
<record>
<date>2018-10-08T00:48:37</date>
<millis>1538977717041</millis>
<sequence>3</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:01.1120</message>
</record>
<record>
<date>2018-10-08T00:48:43</date>
<millis>1538977723693</millis>
<sequence>4</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.962</message>
</record>
<record>
<date>2018-10-08T00:48:53</date>
<millis>1538977733827</millis>
<sequence>5</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>load</method>
<thread>14</thread>
<message>No file was selected to be opened</message>
</record>
<record>
<date>2018-10-08T00:48:53</date>
<millis>1538977733827</millis>
<sequence>6</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>load</method>
<thread>14</thread>
<message>File successfully loaded</message>
</record>
<record>
<date>2018-10-08T00:49:38</date>
<millis>1538977778209</millis>
<sequence>7</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
<record>
<date>2018-10-08T00:49:41</date>
<millis>1538977781035</millis>
<sequence>8</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
<record>
<date>2018-10-08T00:49:44</date>
<millis>1538977784416</millis>
<sequence>9</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
<record>
<date>2018-10-08T00:49:45</date>
<millis>1538977785001</millis>
<sequence>10</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
<record>
<date>2018-10-08T00:49:49</date>
<millis>1538977789519</millis>
<sequence>11</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>load</method>
<thread>14</thread>
<message>File successfully loaded</message>
</record>
<record>
<date>2018-10-08T00:49:52</date>
<millis>1538977792318</millis>
<sequence>12</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.193</message>
</record>
<record>
<date>2018-10-08T00:49:59</date>
<millis>1538977799871</millis>
<sequence>13</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.52</message>
</record>
<record>
<date>2018-10-08T00:50:03</date>
<millis>1538977803952</millis>
<sequence>14</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.61</message>
</record>
<record>
<date>2018-10-08T00:50:07</date>
<millis>1538977807155</millis>
<sequence>15</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
<record>
<date>2018-10-08T00:50:11</date>
<millis>1538977811905</millis>
<sequence>16</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
<record>
<date>2018-10-08T00:50:15</date>
<millis>1538977815642</millis>
<sequence>17</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
<record>
<date>2018-10-08T00:50:16</date>
<millis>1538977816457</millis>
<sequence>18</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>changeDotAmount</method>
<thread>14</thread>
<message>Run Time for selected operation00:00:00.0</message>
</record>
</log>

14
Labs/Lab 1/d2d.txt.1 Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2018-10-03T11:01:39</date>
<millis>1538582499712</millis>
<sequence>1</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>load</method>
<thread>14</thread>
<message>File successfully loaded</message>
</record>

0
Labs/Lab 1/d2d.txt.1.lck Normal file
View File

1917
Labs/Lab 1/dove.dot Normal file

File diff suppressed because it is too large Load Diff

2241
Labs/Lab 1/magician.dot Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="windows-1252" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2018-09-16T21:47:06</date>
<millis>1537152426017</millis>
<sequence>0</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>load</method>
<thread>13</thread>
<message>No file was selected to be opened</message>
</record>
<record>
<date>2018-09-16T21:47:21</date>
<millis>1537152441178</millis>
<sequence>1</sequence>
<logger>d2d</logger>
<level>INFO</level>
<class>barnestr.Dot2DotController</class>
<method>load</method>
<thread>13</thread>
<message>No file was selected to be opened</message>
</record>
</log>

View File

@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: barnestr.Dot2Dot

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.canvas.Canvas?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.RadioMenuItem?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToggleGroup?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="780.0" prefWidth="720.0" xmlns="http://javafx.com/javafx/8.0.181" xmlns:fx="http://javafx.com/fxml/1" fx:controller="barnestr.Dot2DotController">
<children>
<MenuBar>
<menus>
<Menu mnemonicParsing="false" text="File">
<items>
<MenuItem mnemonicParsing="false" onAction="#load" text="Open" />
<MenuItem mnemonicParsing="false" onAction="#save" text="Save" />
<MenuItem mnemonicParsing="false" onAction="#close" text="Close" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Draw">
<items>
<MenuItem fx:id="linesMenuItem" disable="true" mnemonicParsing="false" onAction="#linesOnly" text="Lines Only" />
<MenuItem fx:id="dotsMenuItem" disable="true" mnemonicParsing="false" onAction="#dotsOnly" text="Dots Only" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="List">
<items>
<RadioMenuItem fx:id="radioArrayList" mnemonicParsing="false" selected="true" text="ArrayList">
<toggleGroup>
<ToggleGroup fx:id="toggleList" />
</toggleGroup></RadioMenuItem>
<RadioMenuItem fx:id="radioLinkedList" mnemonicParsing="false" text="LinkedList" toggleGroup="$toggleList" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Remove">
<items>
<RadioMenuItem fx:id="radioIndexOnly" mnemonicParsing="false" selected="true" text="Index Only">
<toggleGroup>
<ToggleGroup fx:id="toggleRemove" />
</toggleGroup></RadioMenuItem>
<RadioMenuItem fx:id="radioIteratorOnly" mnemonicParsing="false" text="Iterator Only" toggleGroup="$toggleRemove" />
</items>
</Menu>
</menus>
</MenuBar>
<HBox alignment="CENTER" minHeight="35.0" minWidth="720.0" prefHeight="35.0" prefWidth="720.0">
<children>
<Label text="Number of Dots:">
<HBox.margin>
<Insets />
</HBox.margin>
</Label>
<TextField fx:id="numDotsField" onAction="#changeDotAmount">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</TextField>
<Button fx:id="buttonChange" disable="true" mnemonicParsing="false" onAction="#changeDotAmount" text="Change Dots" />
<Label fx:id="labelTime" alignment="CENTER_RIGHT" text="Run Time:" textAlignment="CENTER">
<padding>
<Insets left="5.0" />
</padding>
</Label>
</children>
<VBox.margin>
<Insets />
</VBox.margin>
</HBox>
<Canvas fx:id="canvas" height="720.0" width="720.0" />
</children>
</VBox>

Binary file not shown.

Binary file not shown.

Binary file not shown.

10272
Labs/Lab 1/skull.dot Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: barnestr.Dot2Dot

View File

@@ -0,0 +1,59 @@
/*
* CS2852
* Fall 2018
* Lab 3 - Connect the Dots Generator Revisited
* Name: Trevor Barnes
* Created: 9/11/18
*/
package barnestr;
/**
* A class named Dot that holds all of the data and
* methods for a dot to be drawn on a JavaFX canvas.
*
* @author Trevor Barnes
* @version 1.0
*/
public class Dot {
private double x;
private double y;
/**
* The constructor for a Dot which requires an X and Y coordinate
*
* @param x the X coordinate of the Dot
* @param y the Y coordinate of the Dot
*/
public Dot(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
/**
* Returns the critical value of a dot by calculating the distances between the
* previous and next dot in the List.
*
* @param previous the previous Dot object in the List
* @param next the next Dot object in the List
* @return the calculated critical value as a double
*/
public double calculateCriticalValue(Dot previous, Dot next) {
double p = Math.sqrt(Math.pow((previous.getX() - getX()), 2) +
Math.pow((previous.getY() - getY()), 2));
double n = Math.sqrt(Math.pow((next.getX() - getX()), 2) +
Math.pow((next.getY() - getY()), 2));
double pn = Math.sqrt(Math.pow((previous.getX() - next.getX()), 2) +
Math.pow((previous.getY() - next.getY()), 2));
return p + n - pn;
}
}

View File

@@ -0,0 +1,37 @@
/*
* CS2852
* Fall 2018
* Lab 3 - Connect the Dots Generator Revisited
* Name: Trevor Barnes
* Created: 9/11/18
*/
package barnestr;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
* The main class for Lab 1. Launches the JavaFX Application
*
* @author Trevor Barnes
* @version 1.0
*/
public class Dot2Dot extends Application {
/**
* Loads the Dot2DotController.fxml file with its controller.
*
* @param primaryStage the stage in which the application runs
* @throws Exception if there is a problem launching the program
*/
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Dot2DotController.fxml"));
primaryStage.setTitle("Dot to Dot");
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
}

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.canvas.Canvas?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.RadioMenuItem?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToggleGroup?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="780.0" prefWidth="720.0" xmlns="http://javafx.com/javafx/8.0.181" xmlns:fx="http://javafx.com/fxml/1" fx:controller="barnestr.Dot2DotController">
<children>
<MenuBar>
<menus>
<Menu mnemonicParsing="false" text="File">
<items>
<MenuItem mnemonicParsing="false" onAction="#load" text="Open" />
<MenuItem mnemonicParsing="false" onAction="#save" text="Save" />
<MenuItem mnemonicParsing="false" onAction="#close" text="Close" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Draw">
<items>
<MenuItem fx:id="linesMenuItem" disable="true" mnemonicParsing="false" onAction="#linesOnly" text="Lines Only" />
<MenuItem fx:id="dotsMenuItem" disable="true" mnemonicParsing="false" onAction="#dotsOnly" text="Dots Only" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="List">
<items>
<RadioMenuItem fx:id="radioArrayList" mnemonicParsing="false" selected="true" text="ArrayList">
<toggleGroup>
<ToggleGroup fx:id="toggleList" />
</toggleGroup></RadioMenuItem>
<RadioMenuItem fx:id="radioLinkedList" mnemonicParsing="false" text="LinkedList" toggleGroup="$toggleList" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Remove">
<items>
<RadioMenuItem fx:id="radioIndexOnly" mnemonicParsing="false" selected="true" text="Index Only">
<toggleGroup>
<ToggleGroup fx:id="toggleRemove" />
</toggleGroup></RadioMenuItem>
<RadioMenuItem fx:id="radioIteratorOnly" mnemonicParsing="false" text="Iterator Only" toggleGroup="$toggleRemove" />
</items>
</Menu>
</menus>
</MenuBar>
<HBox alignment="CENTER" minHeight="35.0" minWidth="720.0" prefHeight="35.0" prefWidth="720.0">
<children>
<Label text="Number of Dots:">
<HBox.margin>
<Insets />
</HBox.margin>
</Label>
<TextField fx:id="numDotsField" onAction="#changeDotAmount">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
</TextField>
<Button fx:id="buttonChange" disable="true" mnemonicParsing="false" onAction="#changeDotAmount" text="Change Dots" />
<Label fx:id="labelTime" alignment="CENTER_RIGHT" text="Run Time:" textAlignment="CENTER">
<padding>
<Insets left="5.0" />
</padding>
</Label>
</children>
<VBox.margin>
<Insets />
</VBox.margin>
</HBox>
<Canvas fx:id="canvas" height="720.0" width="720.0" />
</children>
</VBox>

View File

@@ -0,0 +1,184 @@
/*
* CS2852
* Fall 2018
* Lab 3 - Connect the Dots Generator Revisited
* Name: Trevor Barnes
* Created: 9/11/18
*/
package barnestr;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.canvas.Canvas;
import javafx.scene.control.*;
import javafx.stage.FileChooser;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.LinkedList;
import java.util.ResourceBundle;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* The controller that handles all of the UI components of the Dot to Dot window
*
* @author Trevoer Barnes
* @version 3.0
*/
public class Dot2DotController implements Initializable {
private Logger logger = Logger.getLogger("d2d");
private Picture picture;
private Picture original;
@FXML
private MenuItem linesMenuItem;
@FXML
private MenuItem dotsMenuItem;
@FXML
private RadioMenuItem radioLinkedList;
@FXML
private RadioMenuItem radioIndexOnly;
@FXML
private Label labelTime;
@FXML
private Canvas canvas = new Canvas();
@FXML
private TextField numDotsField;
@FXML
private Button buttonChange;
@FXML
void changeDotAmount(ActionEvent event) {
long timeNano;
try {
if (radioIndexOnly.isSelected()) {
timeNano = picture.removeDots(Integer.parseInt(numDotsField.getText()));
} else {
timeNano = picture.removeDots2(Integer.parseInt(numDotsField.getText()));
}
picture.clearCanvas(canvas);
picture.drawDots(canvas);
picture.drawLines(canvas);
long millis = timeNano /1000000;
long second = (millis / 1000) % 60;
long minute = (millis / (1000 * 60)) % 60;
long hour = (millis / (1000 * 60 * 60)) % 24;
String time = String.format("%02d:%02d:%02d.%d", hour, minute, second, millis);
labelTime.setText("Run Time: " + time);
logger.log(Level.INFO, "Run Time for selected operation" + time);
} catch (NumberFormatException e) {
logger.log(Level.WARNING, "The input amount was not formatted correctly");
} catch (NullPointerException e) {
logger.log(Level.WARNING, "No picture is loaded to be changed");
}
}
@FXML
void close(ActionEvent event) {
Platform.exit();
}
@FXML
void dotsOnly(ActionEvent event) {
picture.clearCanvas(canvas);
picture.drawDots(canvas);
}
@FXML
void linesOnly(ActionEvent event) {
picture.clearCanvas(canvas);
picture.drawLines(canvas);
}
@FXML
void load(ActionEvent event) {
try {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Dot File");
fileChooser.getExtensionFilters()
.add(new FileChooser.ExtensionFilter("Dot Files", "*.dot"));
fileChooser.setInitialDirectory(new File(System.getProperty("user.dir")));
if (radioLinkedList.isSelected()) {
original = new Picture(new LinkedList<>());
picture = new Picture(original, new LinkedList<>());
} else {
original = new Picture(new ArrayList<>());
picture = new Picture(original, new ArrayList<>());
}
picture.load(fileChooser.showOpenDialog(null));
picture.clearCanvas(canvas);
linesMenuItem.setDisable(false);
dotsMenuItem.setDisable(false);
buttonChange.setDisable(false);
picture.drawDots(canvas);
picture.drawLines(canvas);
} catch (NullPointerException e) {
logger.log(Level.INFO, "No file was selected to be opened");
} catch (InputMismatchException e) {
logger.log(Level.WARNING, "The input data from the file was not formatted correctly");
} catch (NumberFormatException e) {
logger.log(Level.WARNING,
"The number input data from the file was not formatted correctly");
} catch (FileNotFoundException e) {
logger.log(Level.WARNING, "No file was selected to be opened");
}
logger.log(Level.INFO, "File successfully loaded");
}
@FXML
void save(ActionEvent event) {
try {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Save Dot File");
fileChooser.getExtensionFilters()
.add(new FileChooser.ExtensionFilter("Dot Files", "*.dot"));
fileChooser.setInitialDirectory(new File(System.getProperty("user.dir")));
picture.save(fileChooser.showSaveDialog(null));
} catch (FileNotFoundException e) {
logger.log(Level.WARNING, "No file location was selected to be saved to");
} catch (NullPointerException e) {
logger.log(Level.WARNING, "No picture is loaded to be saved");
}
logger.log(Level.INFO, "File successfully saved");
}
/**
* Initializes the logger file
*
* @param location location URL
* @param resources resources ResourceBundle
*/
@Override
public void initialize(URL location, ResourceBundle resources) {
try {
FileHandler handler = new FileHandler(System.getProperty("user.dir") +
File.separator + "d2d.txt");
logger.addHandler(handler);
} catch (IOException e) {
logger.severe("Could not create log file");
}
logger.setUseParentHandlers(false);
}
}

View File

@@ -0,0 +1,259 @@
/*
* CS2852
* Fall 2018
* Lab 3 - Connect the Dots Generator Revisited
* Name: Trevor Barnes
* Created: 9/11/18
*/
package barnestr;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.*;
/**
* A class named Picture that represents the entire image drawn on a JavaFX Canvas.
* This class has an ArrayList of dots loaded in from a .dot file.
* Dots and lines can also be drawn with the methods in this class.
*
* @author Trevor Barnes
* @version 3.0
*/
public class Picture {
private static final int CANVAS_SIZE = 720;
private static final int DOT_SIZE = 8;
private List<Dot> dots;
private Picture original;
/**
* The constructor for Picture that initializes the dots list
*
* @param emptyList the list of dots passed in
*/
public Picture(List<Dot> emptyList) {
this.dots = emptyList;
}
/**
* The constructor for Picture that initializes the dots list and original Picture object
*
* @param original the original Picture with the original dots
* @param emptyList the list of dots passed in
*/
public Picture(Picture original, List<Dot> emptyList) {
this.dots = emptyList;
this.original = original;
}
/**
* Loads in a .dot file's data into the ArrayList of Dots.
*
* @param file the .dot file with dot coordinates
* @throws FileNotFoundException if file is not found
*/
public void load(File file) throws FileNotFoundException {
try (Scanner in = new Scanner(file)) {
do {
String coord = in.nextLine();
double x = Double.parseDouble(coord.substring(0, coord.indexOf(","))) *
CANVAS_SIZE;
double y = Math.abs((Double.parseDouble(coord.
substring(coord.indexOf(",") + 1)) * CANVAS_SIZE) - CANVAS_SIZE);
dots.add(new Dot(x, y));
original.dots.add(new Dot(x, y));
} while (in.hasNext());
}
}
/**
* Saves the data of the dots ArrayList in a given file location as a .dot file
*
* @param file the file to be saved to
* @throws FileNotFoundException if file is not found
*/
public void save(File file) throws FileNotFoundException {
try (PrintWriter pw = new PrintWriter(file)) {
for (int i = 0; i < dots.size(); i++) {
pw.append(String.valueOf((dots.get(i).getX()) / CANVAS_SIZE));
pw.append(", ");
pw.append(String.valueOf(Math.abs(dots.get(i).getY() - CANVAS_SIZE) /
CANVAS_SIZE));
pw.append("\r\n");
}
}
}
/**
* Draws the dots using the Canvas's GraphicsContext
*
* @param canvas the canvas to be drawn on
*/
public void drawDots(Canvas canvas) {
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.setFill(Color.BLACK);
for (int i = dots.size() - 1; i > 0; i--) {
gc.fillOval(dots.get(i).getX() - (DOT_SIZE / 2),
dots.get(i).getY() - (DOT_SIZE / 2), DOT_SIZE, DOT_SIZE);
}
}
/**
* Sets the number of dots on the image by each dots determined critical values by
* using indexed methods. The dot with the lowest critical value is removed until the number of
* desired dots is reached.
*
* @param numberDesired the number of dots requested by the user
* @return the amount of time, in nanoseconds, the operation took to complete
*/
public long removeDots(int numberDesired) {
long initialTime = System.nanoTime();
dots.clear();
for (Dot dot : original.dots) {
dots.add(dot);
}
if (numberDesired > 3) {
int removedCount = dots.size() - numberDesired;
//recalculates critical values until the removed count has been reached
for (int i = 0; i < removedCount; i++) {
//creates a double array with critical values with the new dots list size
double[] cv = new double[dots.size()];
//setting critical values for dots at each index
for (int j = 0; j < dots.size(); j++) {
//first dot
if (j == 0) {
cv[j] = dots.get(j).calculateCriticalValue(dots
.get(dots.size() - 1), dots.get(j + 1));
//last dot
} else if (j == dots.size() - 1) {
cv[j] = dots.get(j).calculateCriticalValue(dots
.get(j - 1), dots.get(0));
//all dots in between
} else {
cv[j] = dots.get(j).calculateCriticalValue(dots
.get(j - 1), dots.get(j + 1));
}
}
int index = 0;
//sets the first dot as the "default" lowest critical value
double minCValue = cv[index];
//for the length of the array, the index is set to the lowest critical value
for (int k = 0; k < cv.length; k++) {
if (cv[k] < minCValue) {
minCValue = cv[k];
index = k;
}
}
//dot with lowest CV in the list is removed at the same index as the CV in
// the CV array
dots.remove(index);
}
}
return System.nanoTime() - initialTime;
}
/**
* Sets the number of dots on the image by each dots determined critical values by
* using iterators. The dot with the lowest critical value is removed until the number of
* desired dots is reached.
*
* @param numberDesired the number of dots requested by the user
* @return the amount of time, in nanoseconds, the operation took to complete
*/
public long removeDots2(int numberDesired) {
long initialTime = System.nanoTime();
dots.clear();
for (Dot dot : original.dots) {
dots.add(dot);
}
if (numberDesired >= 3) {
int removedCount = dots.size() - numberDesired;
for (int i = 0; i < removedCount; i++) {
Iterator<Dot> iterCurrent = dots.iterator();
Iterator<Dot> iterPrev = dots.iterator();
Iterator<Dot> iterNext = dots.iterator();
Collection<Double> cv = new ArrayList<>();
iterNext.next();
for (int j = 0; iterCurrent.hasNext(); j++) {
if (j == 0) {
Iterator<Dot> iterLast = dots.iterator();
Dot lastDot = new Dot(0, 0);
while (iterLast.hasNext()) {
lastDot = iterLast.next();
}
cv.add(iterCurrent.next()
.calculateCriticalValue(lastDot, iterNext.next()));
} else if (!iterNext.hasNext()) {
Iterator<Dot> first = dots.iterator();
cv.add(iterCurrent.next()
.calculateCriticalValue(iterPrev.next(), first.next()));
} else {
cv.add(iterCurrent.next()
.calculateCriticalValue(iterPrev.next(), iterNext.next()));
}
}
Iterator<Double> iterCV = cv.iterator();
int location = 0;
double minCValue = Integer.MAX_VALUE;
for (int k = 0; iterCV.hasNext(); k++) {
double current = iterCV.next();
if (current < minCValue) {
minCValue = current;
location = k;
}
}
Iterator<Dot> iterRemove = dots.iterator();
iterRemove.next();
for (int j = 0; j < location; j++) {
iterRemove.next();
}
iterRemove.remove();
}
}
return System.nanoTime() - initialTime;
}
/**
* Draws the lines of one dot to the next in the ArrayList using the Canvas's GraphicsContext.
*
* @param canvas the canvas to be drawn on
*/
public void drawLines(Canvas canvas) {
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.beginPath();
for (int i = dots.size() - 1; i > 0; i--) {
gc.beginPath();
gc.moveTo(dots.get(i).getX(), dots.get(i).getY());
if (i + 1 < dots.size()) {
gc.lineTo(dots.get(i + 1).getX(), dots.get(i + 1).getY());
} else {
gc.lineTo(dots.get(1).getX(), dots.get(1).getY());
}
gc.closePath();
gc.stroke();
}
}
/**
* Clears the canvas by using the clearReact method for GraphicsContext.
*
* @param canvas the canvas to be cleared
*/
public void clearCanvas(Canvas canvas) {
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.clearRect(0, 0, CANVAS_SIZE, CANVAS_SIZE);
}
}

Binary file not shown.

Binary file not shown.