1
0
mirror of https://github.com/christiaangoossens/Planetary-Orbit-Simulator synced 2024-11-22 03:04:10 +00:00

Fixed all bugs, prepare for formatting.

This commit is contained in:
Christiaan Goossens 2016-11-08 20:42:46 +01:00
parent c843051338
commit f9c758de99
13 changed files with 277 additions and 234 deletions

View File

@ -7,10 +7,12 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="17f368cb-44f8-4101-9a29-49a0f4ff1f92" name="Default" comment="Update workspace"> <list default="true" id="17f368cb-44f8-4101-9a29-49a0f4ff1f92" name="Default" comment="Update workspace">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/simulator/com/verictas/pos/simulator/processor/ObjectProcessor.class" afterPath="$PROJECT_DIR$/out/production/simulator/com/verictas/pos/simulator/processor/ObjectProcessor.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AOP.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AOP.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java" />
</list> </list>
@ -34,116 +36,34 @@
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="AOP.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AOP.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="12" column="52" selection-start-line="12" selection-start-column="52" selection-end-line="12" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Simulator.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Simulator.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136"> <state relative-caret-position="867">
<caret line="8" column="24" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="24" /> <caret line="56" column="40" selection-start-line="56" selection-start-column="40" selection-end-line="56" selection-end-column="40" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#run#0;class#Simulator#0" expanded="false" />
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" /> <element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Main.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="629">
<caret line="39" column="94" selection-start-line="39" selection-start-column="94" selection-end-line="39" selection-end-column="94" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SimulatorConfig.java" pinned="false" current-in-tab="false"> <file leaf-file-name="SimulatorConfig.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119"> <state relative-caret-position="16">
<caret line="7" column="42" selection-start-line="7" selection-start-column="42" selection-end-line="7" selection-end-column="42" /> <caret line="14" column="51" selection-start-line="14" selection-start-column="51" selection-end-line="14" selection-end-column="51" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Node.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="544"> <state relative-caret-position="404">
<caret line="34" column="27" selection-start-line="34" selection-start-column="27" selection-end-line="34" selection-end-column="27" /> <caret line="45" column="11" selection-start-line="45" selection-start-column="11" selection-end-line="45" selection-end-column="11" />
<folding> <folding />
<element signature="e#287#288#0" expanded="true" />
<element signature="e#319#320#0" expanded="true" />
<element signature="e#394#395#0" expanded="true" />
<element signature="e#439#440#0" expanded="true" />
<element signature="method#empty#0;class#Node#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Object.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Object.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1850">
<caret line="146" column="7" selection-start-line="146" selection-start-column="7" selection-end-line="146" selection-end-column="7" />
<folding>
<element signature="imports" expanded="true" />
<element signature="method#getSpeed#0;class#Object#0" expanded="false" />
<element signature="method#getPosition#0;class#Object#0" expanded="false" />
<element signature="method#setAcceleration#1;class#Object#0" expanded="false" />
<element signature="method#getAcceleration#0;class#Object#0" expanded="false" />
<element signature="method#setOldAcceleration#1;class#Object#0" expanded="false" />
<element signature="method#getOldAcceleration#0;class#Object#0" expanded="false" />
<element signature="method#toString#0;class#Object#0" expanded="false" />
<element signature="method#getForceOnObject#0;class#Object#0" expanded="false" />
<element signature="method#getDistance#1;class#Object#0" expanded="false" />
<element signature="method#updatePosition#0;class#Object#0" expanded="false" />
<element signature="method#updateSpeed#0;class#Object#0" expanded="false" />
<element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ObjectProcessor.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="109" column="72" selection-start-line="109" selection-start-column="72" selection-end-line="109" selection-end-column="72" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1132#1133#0" expanded="true" />
<element signature="e#1172#1173#0" expanded="true" />
<element signature="method#processRoundCheck#0;class#ObjectProcessor#0" expanded="false" />
<element signature="method#cleanHistory#0;class#ObjectProcessor#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Processor.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="544">
<caret line="63" column="62" selection-start-line="63" selection-start-column="16" selection-end-line="63" selection-end-column="62" />
<folding>
<element signature="imports" expanded="true" />
<element signature="method#objectArrayToHashMap#0;class#Processor#0" expanded="false" />
<element signature="method#close#0;class#Processor#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -189,18 +109,18 @@
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Object.java" /> <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Object.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/dataWriter/DataWriter.java" /> <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/dataWriter/DataWriter.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AU.java" /> <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AU.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java" /> <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AOP.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java" /> <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java" /> <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java" /> <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AOP.java" />
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java" />
</list> </list>
</option> </option>
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="-8" /> <option name="x" value="-1928" />
<option name="y" value="-8" /> <option name="y" value="-8" />
<option name="width" value="1936" /> <option name="width" value="1936" />
<option name="height" value="1056" /> <option name="height" value="1056" />
@ -246,8 +166,6 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="PackagesPane" />
<pane id="Scratches" /> <pane id="Scratches" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
@ -343,8 +261,32 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="simulator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="simulator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="simulator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dataWriter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" />
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@ -648,7 +590,7 @@
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> <frame x="-1928" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@ -656,10 +598,10 @@
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2653277" sideWeight="0.48541668" order="10" side_tool="false" content_ui="tabs" /> <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2653277" sideWeight="0.48541668" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Palette&#9;" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20084566" sideWeight="0.4328125" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.50739956" sideWeight="0.3453125" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.20084566" sideWeight="0.5671875" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.50739956" sideWeight="0.6546875" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
@ -695,7 +637,7 @@
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
<option name="time" value="46" /> <option name="time" value="49" />
</breakpoint-manager> </breakpoint-manager>
<watches-manager /> <watches-manager />
</component> </component>
@ -716,7 +658,6 @@
<state relative-caret-position="66"> <state relative-caret-position="66">
<caret line="4" column="24" selection-start-line="4" selection-start-column="24" selection-end-line="4" selection-end-column="24" /> <caret line="4" column="24" selection-start-line="4" selection-start-column="24" selection-end-line="4" selection-end-column="24" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#run#0;class#Simulator#0" expanded="false" /> <element signature="method#run#0;class#Simulator#0" expanded="false" />
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" /> <element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding> </folding>
@ -735,7 +676,6 @@
<state relative-caret-position="1188"> <state relative-caret-position="1188">
<caret line="55" column="39" selection-start-line="55" selection-start-column="39" selection-end-line="55" selection-end-column="39" /> <caret line="55" column="39" selection-start-line="55" selection-start-column="39" selection-end-line="55" selection-end-column="39" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#run#0;class#Simulator#0" expanded="false" /> <element signature="method#run#0;class#Simulator#0" expanded="false" />
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" /> <element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding> </folding>
@ -747,8 +687,16 @@
<state relative-caret-position="770"> <state relative-caret-position="770">
<caret line="40" column="21" selection-start-line="40" selection-start-column="21" selection-end-line="40" selection-end-column="21" /> <caret line="40" column="21" selection-start-line="40" selection-start-column="21" selection-end-line="40" selection-end-column="21" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="false" />
<element signature="e#976#977#0" expanded="false" />
<element signature="e#1010#1011#0" expanded="false" />
<element signature="e#1053#1054#0" expanded="false" />
<element signature="e#1124#1125#0" expanded="false" />
<element signature="method#getSpeed#0;class#Object#0" expanded="false" /> <element signature="method#getSpeed#0;class#Object#0" expanded="false" />
<element signature="e#1484#1485#0" expanded="false" />
<element signature="e#1524#1525#0" expanded="false" />
<element signature="e#1573#1574#0" expanded="false" />
<element signature="e#1656#1657#0" expanded="false" />
<element signature="method#getPosition#0;class#Object#0" expanded="false" /> <element signature="method#getPosition#0;class#Object#0" expanded="false" />
<element signature="method#setAcceleration#1;class#Object#0" expanded="false" /> <element signature="method#setAcceleration#1;class#Object#0" expanded="false" />
<element signature="method#getAcceleration#0;class#Object#0" expanded="false" /> <element signature="method#getAcceleration#0;class#Object#0" expanded="false" />
@ -759,6 +707,8 @@
<element signature="method#getDistance#1;class#Object#0" expanded="false" /> <element signature="method#getDistance#1;class#Object#0" expanded="false" />
<element signature="method#updatePosition#0;class#Object#0" expanded="false" /> <element signature="method#updatePosition#0;class#Object#0" expanded="false" />
<element signature="method#updateSpeed#0;class#Object#0" expanded="false" /> <element signature="method#updateSpeed#0;class#Object#0" expanded="false" />
<element signature="e#5778#5779#0" expanded="false" />
<element signature="e#5834#5835#0" expanded="false" />
<element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" /> <element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" />
</folding> </folding>
</state> </state>
@ -783,7 +733,6 @@
<state relative-caret-position="1188"> <state relative-caret-position="1188">
<caret line="55" column="39" selection-start-line="55" selection-start-column="39" selection-end-line="55" selection-end-column="39" /> <caret line="55" column="39" selection-start-line="55" selection-start-column="39" selection-end-line="55" selection-end-column="39" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#run#0;class#Simulator#0" expanded="false" /> <element signature="method#run#0;class#Simulator#0" expanded="false" />
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" /> <element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding> </folding>
@ -795,8 +744,16 @@
<state relative-caret-position="770"> <state relative-caret-position="770">
<caret line="40" column="21" selection-start-line="40" selection-start-column="21" selection-end-line="40" selection-end-column="21" /> <caret line="40" column="21" selection-start-line="40" selection-start-column="21" selection-end-line="40" selection-end-column="21" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="false" />
<element signature="e#976#977#0" expanded="false" />
<element signature="e#1010#1011#0" expanded="false" />
<element signature="e#1053#1054#0" expanded="false" />
<element signature="e#1124#1125#0" expanded="false" />
<element signature="method#getSpeed#0;class#Object#0" expanded="false" /> <element signature="method#getSpeed#0;class#Object#0" expanded="false" />
<element signature="e#1484#1485#0" expanded="false" />
<element signature="e#1524#1525#0" expanded="false" />
<element signature="e#1573#1574#0" expanded="false" />
<element signature="e#1656#1657#0" expanded="false" />
<element signature="method#getPosition#0;class#Object#0" expanded="false" /> <element signature="method#getPosition#0;class#Object#0" expanded="false" />
<element signature="method#setAcceleration#1;class#Object#0" expanded="false" /> <element signature="method#setAcceleration#1;class#Object#0" expanded="false" />
<element signature="method#getAcceleration#0;class#Object#0" expanded="false" /> <element signature="method#getAcceleration#0;class#Object#0" expanded="false" />
@ -807,6 +764,8 @@
<element signature="method#getDistance#1;class#Object#0" expanded="false" /> <element signature="method#getDistance#1;class#Object#0" expanded="false" />
<element signature="method#updatePosition#0;class#Object#0" expanded="false" /> <element signature="method#updatePosition#0;class#Object#0" expanded="false" />
<element signature="method#updateSpeed#0;class#Object#0" expanded="false" /> <element signature="method#updateSpeed#0;class#Object#0" expanded="false" />
<element signature="e#5778#5779#0" expanded="false" />
<element signature="e#5834#5835#0" expanded="false" />
<element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" /> <element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" />
</folding> </folding>
</state> </state>
@ -831,7 +790,6 @@
<state relative-caret-position="1188"> <state relative-caret-position="1188">
<caret line="55" column="39" selection-start-line="55" selection-start-column="39" selection-end-line="55" selection-end-column="39" /> <caret line="55" column="39" selection-start-line="55" selection-start-column="39" selection-end-line="55" selection-end-column="39" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#run#0;class#Simulator#0" expanded="false" /> <element signature="method#run#0;class#Simulator#0" expanded="false" />
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" /> <element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding> </folding>
@ -843,8 +801,16 @@
<state relative-caret-position="770"> <state relative-caret-position="770">
<caret line="40" column="21" selection-start-line="40" selection-start-column="21" selection-end-line="40" selection-end-column="21" /> <caret line="40" column="21" selection-start-line="40" selection-start-column="21" selection-end-line="40" selection-end-column="21" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="false" />
<element signature="e#976#977#0" expanded="false" />
<element signature="e#1010#1011#0" expanded="false" />
<element signature="e#1053#1054#0" expanded="false" />
<element signature="e#1124#1125#0" expanded="false" />
<element signature="method#getSpeed#0;class#Object#0" expanded="false" /> <element signature="method#getSpeed#0;class#Object#0" expanded="false" />
<element signature="e#1484#1485#0" expanded="false" />
<element signature="e#1524#1525#0" expanded="false" />
<element signature="e#1573#1574#0" expanded="false" />
<element signature="e#1656#1657#0" expanded="false" />
<element signature="method#getPosition#0;class#Object#0" expanded="false" /> <element signature="method#getPosition#0;class#Object#0" expanded="false" />
<element signature="method#setAcceleration#1;class#Object#0" expanded="false" /> <element signature="method#setAcceleration#1;class#Object#0" expanded="false" />
<element signature="method#getAcceleration#0;class#Object#0" expanded="false" /> <element signature="method#getAcceleration#0;class#Object#0" expanded="false" />
@ -855,6 +821,8 @@
<element signature="method#getDistance#1;class#Object#0" expanded="false" /> <element signature="method#getDistance#1;class#Object#0" expanded="false" />
<element signature="method#updatePosition#0;class#Object#0" expanded="false" /> <element signature="method#updatePosition#0;class#Object#0" expanded="false" />
<element signature="method#updateSpeed#0;class#Object#0" expanded="false" /> <element signature="method#updateSpeed#0;class#Object#0" expanded="false" />
<element signature="e#5778#5779#0" expanded="false" />
<element signature="e#5834#5835#0" expanded="false" />
<element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" /> <element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" />
</folding> </folding>
</state> </state>
@ -879,7 +847,6 @@
<state relative-caret-position="578"> <state relative-caret-position="578">
<caret line="35" column="30" selection-start-line="35" selection-start-column="30" selection-end-line="35" selection-end-column="30" /> <caret line="35" column="30" selection-start-line="35" selection-start-column="30" selection-end-line="35" selection-end-column="30" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#run#0;class#Simulator#0" expanded="false" /> <element signature="method#run#0;class#Simulator#0" expanded="false" />
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" /> <element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding> </folding>
@ -891,8 +858,16 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="false" />
<element signature="e#976#977#0" expanded="false" />
<element signature="e#1010#1011#0" expanded="false" />
<element signature="e#1053#1054#0" expanded="false" />
<element signature="e#1124#1125#0" expanded="false" />
<element signature="method#getSpeed#0;class#Object#0" expanded="false" /> <element signature="method#getSpeed#0;class#Object#0" expanded="false" />
<element signature="e#1484#1485#0" expanded="false" />
<element signature="e#1524#1525#0" expanded="false" />
<element signature="e#1573#1574#0" expanded="false" />
<element signature="e#1656#1657#0" expanded="false" />
<element signature="method#getPosition#0;class#Object#0" expanded="false" /> <element signature="method#getPosition#0;class#Object#0" expanded="false" />
<element signature="method#setAcceleration#1;class#Object#0" expanded="false" /> <element signature="method#setAcceleration#1;class#Object#0" expanded="false" />
<element signature="method#getAcceleration#0;class#Object#0" expanded="false" /> <element signature="method#getAcceleration#0;class#Object#0" expanded="false" />
@ -903,6 +878,8 @@
<element signature="method#getDistance#1;class#Object#0" expanded="false" /> <element signature="method#getDistance#1;class#Object#0" expanded="false" />
<element signature="method#updatePosition#0;class#Object#0" expanded="false" /> <element signature="method#updatePosition#0;class#Object#0" expanded="false" />
<element signature="method#updateSpeed#0;class#Object#0" expanded="false" /> <element signature="method#updateSpeed#0;class#Object#0" expanded="false" />
<element signature="e#5778#5779#0" expanded="false" />
<element signature="e#5834#5835#0" expanded="false" />
<element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" /> <element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" />
</folding> </folding>
</state> </state>
@ -927,8 +904,16 @@
<state relative-caret-position="238"> <state relative-caret-position="238">
<caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" /> <caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="false" />
<element signature="e#976#977#0" expanded="false" />
<element signature="e#1010#1011#0" expanded="false" />
<element signature="e#1053#1054#0" expanded="false" />
<element signature="e#1124#1125#0" expanded="false" />
<element signature="method#getSpeed#0;class#Object#0" expanded="false" /> <element signature="method#getSpeed#0;class#Object#0" expanded="false" />
<element signature="e#1484#1485#0" expanded="false" />
<element signature="e#1524#1525#0" expanded="false" />
<element signature="e#1573#1574#0" expanded="false" />
<element signature="e#1656#1657#0" expanded="false" />
<element signature="method#getPosition#0;class#Object#0" expanded="false" /> <element signature="method#getPosition#0;class#Object#0" expanded="false" />
<element signature="method#setAcceleration#1;class#Object#0" expanded="false" /> <element signature="method#setAcceleration#1;class#Object#0" expanded="false" />
<element signature="method#getAcceleration#0;class#Object#0" expanded="false" /> <element signature="method#getAcceleration#0;class#Object#0" expanded="false" />
@ -939,6 +924,8 @@
<element signature="method#getDistance#1;class#Object#0" expanded="false" /> <element signature="method#getDistance#1;class#Object#0" expanded="false" />
<element signature="method#updatePosition#0;class#Object#0" expanded="false" /> <element signature="method#updatePosition#0;class#Object#0" expanded="false" />
<element signature="method#updateSpeed#0;class#Object#0" expanded="false" /> <element signature="method#updateSpeed#0;class#Object#0" expanded="false" />
<element signature="e#5778#5779#0" expanded="false" />
<element signature="e#5834#5835#0" expanded="false" />
<element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" /> <element signature="method#enactForceOnObject#0;class#Object#0" expanded="false" />
</folding> </folding>
</state> </state>
@ -998,13 +985,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ProcessingException.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119">
<caret line="7" column="1" selection-start-line="7" selection-start-column="1" selection-end-line="7" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="jar://$PROJECT_DIR$/vecmath-1.5.2.jar!/javax/vecmath/Tuple3d.class"> <entry file="jar://$PROJECT_DIR$/vecmath-1.5.2.jar!/javax/vecmath/Tuple3d.class">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="205"> <state relative-caret-position="205">
@ -1013,17 +993,6 @@
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/ObjectStore.java" /> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/ObjectStore.java" />
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/dataWriter/DataWriter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="577">
<caret line="145" column="35" selection-start-line="145" selection-start-column="35" selection-end-line="145" selection-end-column="35" />
<folding>
<element signature="method#write#0;class#DataWriter#0" expanded="false" />
<element signature="method#save#0;class#DataWriter#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AU.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AU.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="408"> <state relative-caret-position="408">
@ -1035,63 +1004,19 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ProcessingException.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="8" column="24" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="24" />
<folding>
<element signature="imports" expanded="true" />
<element signature="method#run#0;class#Simulator#0" expanded="false" />
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AOP.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="12" column="52" selection-start-line="12" selection-start-column="52" selection-end-line="12" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="544">
<caret line="63" column="62" selection-start-line="63" selection-start-column="16" selection-end-line="63" selection-end-column="62" />
<folding>
<element signature="imports" expanded="true" />
<element signature="method#objectArrayToHashMap#0;class#Processor#0" expanded="false" />
<element signature="method#close#0;class#Processor#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="629">
<caret line="39" column="94" selection-start-line="39" selection-start-column="94" selection-end-line="39" selection-end-column="94" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119"> <state relative-caret-position="119">
<caret line="7" column="42" selection-start-line="7" selection-start-column="42" selection-end-line="7" selection-end-column="42" /> <caret line="7" column="1" selection-start-line="7" selection-start-column="1" selection-end-line="7" selection-end-column="1" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="544"> <state relative-caret-position="476">
<caret line="34" column="27" selection-start-line="34" selection-start-column="27" selection-end-line="34" selection-end-column="27" /> <caret line="34" column="27" selection-start-line="34" selection-start-column="27" selection-end-line="34" selection-end-column="27" />
<folding> <folding>
<element signature="e#287#288#0" expanded="true" />
<element signature="e#319#320#0" expanded="true" />
<element signature="e#394#395#0" expanded="true" />
<element signature="e#439#440#0" expanded="true" />
<element signature="method#empty#0;class#Node#0" expanded="false" /> <element signature="method#empty#0;class#Node#0" expanded="false" />
</folding> </folding>
</state> </state>
@ -1099,10 +1024,9 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Object.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Object.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1850"> <state relative-caret-position="1241">
<caret line="146" column="7" selection-start-line="146" selection-start-column="7" selection-end-line="146" selection-end-column="7" /> <caret line="96" column="95" selection-start-line="96" selection-start-column="95" selection-end-line="96" selection-end-column="95" />
<folding> <folding>
<element signature="imports" expanded="true" />
<element signature="method#getSpeed#0;class#Object#0" expanded="false" /> <element signature="method#getSpeed#0;class#Object#0" expanded="false" />
<element signature="method#getPosition#0;class#Object#0" expanded="false" /> <element signature="method#getPosition#0;class#Object#0" expanded="false" />
<element signature="method#setAcceleration#1;class#Object#0" expanded="false" /> <element signature="method#setAcceleration#1;class#Object#0" expanded="false" />
@ -1119,20 +1043,83 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="141" column="0" selection-start-line="141" selection-start-column="0" selection-end-line="141" selection-end-column="0" />
<folding>
<element signature="method#Processor#0;class#Processor#0" expanded="false" />
<element signature="method#process#0;class#Processor#0" expanded="false" />
<element signature="method#write#0;class#Processor#0" expanded="false" />
<element signature="method#objectArrayToHashMap#0;class#Processor#0" expanded="false" />
<element signature="method#close#0;class#Processor#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java"> <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286"> <state relative-caret-position="255">
<caret line="109" column="72" selection-start-line="109" selection-start-column="72" selection-end-line="109" selection-end-column="72" /> <caret line="58" column="0" selection-start-line="58" selection-start-column="0" selection-end-line="58" selection-end-column="0" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="e#1132#1133#0" expanded="true" /> <element signature="method#processHistory#0;class#ObjectProcessor#0" expanded="false" />
<element signature="e#1172#1173#0" expanded="true" /> <element signature="method#processAphelionAndPerihelion#0;class#ObjectProcessor#0" expanded="false" />
<element signature="method#calculateTops#0;class#ObjectProcessor#0" expanded="false" />
<element signature="method#processNodes#0;class#ObjectProcessor#0" expanded="false" />
<element signature="method#findNode#0;class#ObjectProcessor#0" expanded="false" />
<element signature="method#processRoundCheck#0;class#ObjectProcessor#0" expanded="false" /> <element signature="method#processRoundCheck#0;class#ObjectProcessor#0" expanded="false" />
<element signature="method#reset#0;class#ObjectProcessor#0" expanded="false" />
<element signature="method#cleanHistory#0;class#ObjectProcessor#0" expanded="false" /> <element signature="method#cleanHistory#0;class#ObjectProcessor#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AOP.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="8" column="36" selection-start-line="8" selection-start-column="36" selection-end-line="8" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/dataWriter/DataWriter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="441">
<caret line="137" column="65" selection-start-line="137" selection-start-column="20" selection-end-line="137" selection-end-column="65" />
<folding>
<element signature="method#write#0;class#DataWriter#0" expanded="false" />
<element signature="method#save#0;class#DataWriter#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="867">
<caret line="56" column="40" selection-start-line="56" selection-start-column="40" selection-end-line="56" selection-end-column="40" />
<folding>
<element signature="method#accelerate#0;class#Simulator#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="16">
<caret line="14" column="51" selection-start-line="14" selection-start-column="51" selection-end-line="14" selection-end-column="51" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="404">
<caret line="45" column="11" selection-start-line="45" selection-start-column="11" selection-end-line="45" selection-end-column="11" />
<folding />
</state>
</provider>
</entry>
</component> </component>
<component name="masterDetails"> <component name="masterDetails">
<states> <states>

View File

@ -41,6 +41,7 @@ public class Main {
Object jupiter = new Object("Jupiter", 1898.13E24, AU.convertToMeter(new Vector3d(-5.172279968303672E+00,1.591564562098799E+00,1.090553487095606E-01)), AU.convertToMetersPerSecond(new Vector3d(-2.306423668033420E-03,-6.856869314900905E-03,8.012916249248967E-05))); Object jupiter = new Object("Jupiter", 1898.13E24, AU.convertToMeter(new Vector3d(-5.172279968303672E+00,1.591564562098799E+00,1.090553487095606E-01)), AU.convertToMetersPerSecond(new Vector3d(-2.306423668033420E-03,-6.856869314900905E-03,8.012916249248967E-05)));
Object saturn = new Object("Saturn", 5.68319E26, AU.convertToMeter(new Vector3d(-3.710637850378867E+00,-9.289569433157130E+00,3.091990731378936E-01)), AU.convertToMetersPerSecond(new Vector3d(4.874750391005278E-03,-2.086615906689840E-03,-1.574898601194673E-04))); Object saturn = new Object("Saturn", 5.68319E26, AU.convertToMeter(new Vector3d(-3.710637850378867E+00,-9.289569433157130E+00,3.091990731378936E-01)), AU.convertToMetersPerSecond(new Vector3d(4.874750391005278E-03,-2.086615906689840E-03,-1.574898601194673E-04)));
Object venus = new Object("Venus", 48.685E23, AU.convertToMeter(new Vector3d(-7.130901319004951E-01,-5.719763212192740E-02,4.040076577877051E-02)), AU.convertToMetersPerSecond(new Vector3d(1.525993024372452E-03,-2.024175581604569E-02,-3.656582385749146E-04))); Object venus = new Object("Venus", 48.685E23, AU.convertToMeter(new Vector3d(-7.130901319004951E-01,-5.719763212192740E-02,4.040076577877051E-02)), AU.convertToMetersPerSecond(new Vector3d(1.525993024372452E-03,-2.024175581604569E-02,-3.656582385749146E-04)));
Object mars = new Object("Mars", 6.4185E23, AU.convertToMeter(new Vector3d(-1.644664047074283E+00,1.714211195991345E-01,4.385749324150048E-02)), AU.convertFromMetersPerSecond(new Vector3d(-9.128062787682906E-04, -1.271783289037382E-02, -2.442517367300464E-04)));
/** /**
* Object listing * Object listing

View File

@ -56,7 +56,11 @@ public class Simulator {
/** /**
* The round has started * The round has started
*/ */
System.out.println("Round " + (Simulator.round + 1) + " started!"); if(SimulatorConfig.logConsole) {
if(SimulatorConfig.skipConsole == -1 || Simulator.round % SimulatorConfig.skipConsole == 0 || Simulator.round == 1) {
System.out.println("Round " + Simulator.round + " started!");
}
}
for(int i = 0; i < objects.length; i++) { for(int i = 0; i < objects.length; i++) {
objects[i].updatePosition(time); objects[i].updatePosition(time);

View File

@ -5,7 +5,7 @@ public class SimulatorConfig {
* Time settings * Time settings
*/ */
public static int rounds = 526100 * 35; // Amount of rounds to run the simulator for public static int rounds = 526100 * 250; // Amount of rounds to run the simulator for
public static double time = 60; // Time steps in seconds public static double time = 60; // Time steps in seconds
/** /**
@ -15,13 +15,6 @@ public class SimulatorConfig {
public static String sunName = "Sun"; // The name of the sun to calculate values TO public static String sunName = "Sun"; // The name of the sun to calculate values TO
public static String[] objectNames = { "Earth" }; // The name of the object(s) your want to calculate the values OF public static String[] objectNames = { "Earth" }; // The name of the object(s) your want to calculate the values OF
/**
* Ascending & descending node detection
*/
//public static double z = -22439680.6; // Reference z height for the used system in meters
//public static double zThreshold = 1000; // Threshold value to specify the maximum value (in meters) the z difference can be to be considered close to the reference plane (To eliminate all bending points that are to far away from the z-axis to count as nodes)
/** /**
* Output preferences * Output preferences
*/ */
@ -30,4 +23,10 @@ public class SimulatorConfig {
public static int outputNumbers = 0; // Preferred way of outputting numbers: (0 => comma for decimals, dot in large numbers OR 1 => comma for large numbers, dot with decimals) public static int outputNumbers = 0; // Preferred way of outputting numbers: (0 => comma for decimals, dot in large numbers OR 1 => comma for large numbers, dot with decimals)
public static int skipLines = 1440; // Set the skipLines integer to skip lines (for example: every 5th line is written) in the output file (for smaller files), if this is set to 1, it has no effect and all lines will be written. public static int skipLines = 1440; // Set the skipLines integer to skip lines (for example: every 5th line is written) in the output file (for smaller files), if this is set to 1, it has no effect and all lines will be written.
public static boolean skipUnnecessary = true; // Skip the unnecessary objects in the export public static boolean skipUnnecessary = true; // Skip the unnecessary objects in the export
/**
* Console settings
*/
public static boolean logConsole = false;
public static int skipConsole = 100000;
} }

View File

@ -10,10 +10,10 @@ public class AOP {
Vector3d eccentricity = new Vector3d(0,0,0); Vector3d eccentricity = new Vector3d(0,0,0);
eccentricity.sub(perihelion, aphelion); eccentricity.sub(perihelion, aphelion);
if (perihelion.getY() > ascendingNode.getY()) { if (eccentricity.getZ() < 0) {
return ascendingNode.angle(eccentricity);
} else {
return (2 * Math.PI) - ascendingNode.angle(eccentricity); return (2 * Math.PI) - ascendingNode.angle(eccentricity);
} else {
return ascendingNode.angle(eccentricity);
} }
} }
} }

View File

@ -16,12 +16,12 @@ public class ObjectProcessor {
public double aphelionDistance = -1; public double aphelionDistance = -1;
public double perihelionDistance = -1; public double perihelionDistance = -1;
public Object thisObject; private Object thisObject;
public Object referenceObject; private Object referenceObject;
public Vector3d startingPosition; private Vector3d startingPosition;
public double lastStartDistance = -1; private double lastStartDistance = -1;
public double beforeLastStartDistance = -1; private double beforeLastStartDistance = -1;
public Node ascendingNode; public Node ascendingNode;
public Node descendingNode; public Node descendingNode;
@ -29,12 +29,17 @@ public class ObjectProcessor {
public Node absoluteMax; public Node absoluteMax;
public Node absoluteMin; public Node absoluteMin;
public Node carryOverNode; private Node carryOverNode;
public int carryOverBit; private int carryOverBit;
public double referenceZ; public double referenceZ;
public HashMap<Integer, Vector3d[]> history = new HashMap<>(); private HashMap<Integer, Vector3d[]> history = new HashMap<>();
private double lastMaxRound = -1;
private double lastMinRound = -1;
private boolean skipNodes = false;
public void setStartingPosition(Vector3d position) { public void setStartingPosition(Vector3d position) {
this.startingPosition = position; this.startingPosition = position;
@ -108,23 +113,11 @@ public class ObjectProcessor {
} }
if (this.thisObject.position.getZ() > this.absoluteMax.getZ()) { if (this.thisObject.position.getZ() > this.absoluteMax.getZ()) {
/**
* If the next maximum is more than 50 timesteps removed from the last, we've a problem
*/
if (Simulator.round > this.absoluteMax.round + (SimulatorConfig.time * 500)) {
System.out.println("ERROR: I already have a maximum (" + this.absoluteMax + "), but a new one (" + this.thisObject.position + ") has presented itself.");
}
this.absoluteMax = new Node(this.thisObject.position); this.absoluteMax = new Node(this.thisObject.position);
this.absoluteMax.setRound(Simulator.round); this.absoluteMax.setRound(Simulator.round);
} }
if (this.thisObject.position.getZ() < this.absoluteMin.getZ()) { if (this.thisObject.position.getZ() < this.absoluteMin.getZ()) {
/**
* If the next minimum is more than 50 timesteps removed from the last, we've a problem
*/
if (Simulator.round > this.absoluteMin.round + (SimulatorConfig.time * 500)) {
System.out.println("ERROR: I already have a minimum (" + this.absoluteMin + "), but a new one (" + this.thisObject.position + ") has presented itself.");
}
this.absoluteMin = new Node(this.thisObject.position); this.absoluteMin = new Node(this.thisObject.position);
this.absoluteMin.setRound(Simulator.round); this.absoluteMin.setRound(Simulator.round);
} }
@ -149,7 +142,9 @@ public class ObjectProcessor {
Node result = this.findNode(this.absoluteMin, this.carryOverNode); Node result = this.findNode(this.absoluteMin, this.carryOverNode);
if (!result.empty()) { if (!result.empty()) {
if (SimulatorConfig.logConsole) {
System.out.println("INFO:: Found descending node in round " + result.round + "\n"); System.out.println("INFO:: Found descending node in round " + result.round + "\n");
}
this.descendingNode = result; this.descendingNode = result;
} }
} else { } else {
@ -157,7 +152,9 @@ public class ObjectProcessor {
Node result = this.findNode(this.carryOverNode, this.absoluteMax); Node result = this.findNode(this.carryOverNode, this.absoluteMax);
if (!result.empty()) { if (!result.empty()) {
if (SimulatorConfig.logConsole) {
System.out.println("INFO:: Found ascending node in round " + result.round + "\n"); System.out.println("INFO:: Found ascending node in round " + result.round + "\n");
}
this.ascendingNode = result; this.ascendingNode = result;
} }
} }
@ -181,7 +178,9 @@ public class ObjectProcessor {
Node result = this.findNode(this.absoluteMin, this.absoluteMax); Node result = this.findNode(this.absoluteMin, this.absoluteMax);
if (!result.empty()) { if (!result.empty()) {
if (SimulatorConfig.logConsole) {
System.out.println("INFO:: Found ascending node in round " + result.round + "\n"); System.out.println("INFO:: Found ascending node in round " + result.round + "\n");
}
this.ascendingNode = result; this.ascendingNode = result;
} }
@ -195,7 +194,9 @@ public class ObjectProcessor {
Node result = this.findNode(this.absoluteMin, this.absoluteMax); Node result = this.findNode(this.absoluteMin, this.absoluteMax);
if (!result.empty()) { if (!result.empty()) {
if (SimulatorConfig.logConsole) {
System.out.println("INFO:: Found descending node in round " + result.round + "\n"); System.out.println("INFO:: Found descending node in round " + result.round + "\n");
}
this.descendingNode = result; this.descendingNode = result;
} }
@ -208,9 +209,31 @@ public class ObjectProcessor {
private Node findNode(Node min, Node max) { private Node findNode(Node min, Node max) {
this.referenceZ = (min.getZ() + max.getZ()) / 2; this.referenceZ = (min.getZ() + max.getZ()) / 2;
if (SimulatorConfig.logConsole) {
System.out.println("INFO:: Called node finder with min: " + min + " (round " + min.round + ") and max: " + max + " (round " + max.round + ") and a reference height of " + referenceZ); System.out.println("INFO:: Called node finder with min: " + min + " (round " + min.round + ") and max: " + max + " (round " + max.round + ") and a reference height of " + referenceZ);
}
Node returnNode = new Node(); Node returnNode = new Node();
if (lastMaxRound == -1 || lastMaxRound == -1) {
lastMinRound = min.round;
lastMaxRound = max.round;
} else {
// You should compare these values to check.
if (lastMaxRound < min.round && max.round < min.round && min.round == lastMinRound) {
// max2 > max1 > (min1 = min2)
System.out.println("WARNING:: This round's values for the nodes shouldn't be trusted. They are calculated incorrectly.");
this.skipNodes = true;
}
if (lastMinRound < max.round && min.round < max.round && max.round == lastMaxRound) {
// (max1 = max2) > min1 > min2
System.out.println("WARNING:: This round's values for the nodes shouldn't be trusted. They are calculated incorrectly.");
this.skipNodes = true;
}
}
for (Map.Entry<Integer, Vector3d[]> entry : this.history.entrySet()) { for (Map.Entry<Integer, Vector3d[]> entry : this.history.entrySet()) {
Integer round = entry.getKey(); Integer round = entry.getKey();
Vector3d[] vectorArray = entry.getValue(); Vector3d[] vectorArray = entry.getValue();
@ -243,6 +266,10 @@ public class ObjectProcessor {
} }
} }
public boolean checkNodes() {
return !this.skipNodes;
}
/** /**
* Processes the round check * Processes the round check
*/ */
@ -259,8 +286,10 @@ public class ObjectProcessor {
if (beforeLastStartDistance > lastStartDistance && startDistance > lastStartDistance) { if (beforeLastStartDistance > lastStartDistance && startDistance > lastStartDistance) {
// Last point was the closest to the starting position overall! // Last point was the closest to the starting position overall!
fullRotation = true; fullRotation = true;
if (SimulatorConfig.logConsole) {
System.out.println("INFO:: Object " + this.thisObject.name + " has made a full rotation last round."); System.out.println("INFO:: Object " + this.thisObject.name + " has made a full rotation last round.");
} }
}
beforeLastStartDistance = lastStartDistance; beforeLastStartDistance = lastStartDistance;
lastStartDistance = startDistance; lastStartDistance = startDistance;
@ -300,6 +329,9 @@ public class ObjectProcessor {
absoluteMax = new Node(); absoluteMax = new Node();
absoluteMin = new Node(); absoluteMin = new Node();
referenceZ = -1; referenceZ = -1;
lastMaxRound = -1;
lastMinRound = -1;
skipNodes = false;
} }
/** /**

View File

@ -8,6 +8,7 @@ import com.verictas.pos.simulator.dataWriter.WritingException;
import com.verictas.pos.simulator.mathUtils.AOP; import com.verictas.pos.simulator.mathUtils.AOP;
import com.verictas.pos.simulator.mathUtils.AU; import com.verictas.pos.simulator.mathUtils.AU;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
public class Processor { public class Processor {
@ -15,6 +16,8 @@ public class Processor {
public HashMap<String, Object> initialObjectValues = new HashMap<>(); public HashMap<String, Object> initialObjectValues = new HashMap<>();
public HashMap<String, ObjectProcessor> objects = new HashMap<>(); public HashMap<String, ObjectProcessor> objects = new HashMap<>();
public ArrayList<Double> arguments = new ArrayList<>();
public Processor(Object[] objects) throws ProcessingException, WritingException { public Processor(Object[] objects) throws ProcessingException, WritingException {
/** /**
* Initialize DataWriter * Initialize DataWriter
@ -62,10 +65,10 @@ public class Processor {
System.out.println("\n\n============== ROTATION DATA: " + objectName.toUpperCase() + ", ROUND " + (Simulator.round - 1) + " ============="); System.out.println("\n\n============== ROTATION DATA: " + objectName.toUpperCase() + ", ROUND " + (Simulator.round - 1) + " =============");
if (SimulatorConfig.outputUnit.equals("AU")) { if (SimulatorConfig.outputUnit.equals("AU")) {
System.out.println("Current position (AU): " + AU.convertFromMeter(objects.get(objectName).position) + "\n"); //System.out.println("Current position (AU): " + AU.convertFromMeter(objects.get(objectName).position) + "\n");
System.out.println("Highest point (z-axis graph) (AU): " + AU.convertFromMeter(object.absoluteMax)); //System.out.println("Highest point (z-axis graph) (AU): " + AU.convertFromMeter(object.absoluteMax));
System.out.println("Lowest point (z-axis graph) (AU): " + AU.convertFromMeter(object.absoluteMin)); //System.out.println("Lowest point (z-axis graph) (AU): " + AU.convertFromMeter(object.absoluteMin));
System.out.println("Calculated reference height (AU) : " + AU.convertFromMeter(object.referenceZ) + "\n"); //System.out.println("Calculated reference height (AU) : " + AU.convertFromMeter(object.referenceZ) + "\n");
if (object.ascendingNode != null) { if (object.ascendingNode != null) {
System.out.println("Ascending node (AU): " + AU.convertFromMeter(object.ascendingNode)); System.out.println("Ascending node (AU): " + AU.convertFromMeter(object.ascendingNode));
@ -79,15 +82,15 @@ public class Processor {
System.out.println("WARNING:: Descending node not found.\n"); System.out.println("WARNING:: Descending node not found.\n");
} }
System.out.println("Position during apastron (AU): " + AU.convertFromMeter(object.aphelion)); //System.out.println("Position during apastron (AU): " + AU.convertFromMeter(object.aphelion));
System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during apastron in km: " + object.aphelionDistance / 1000 + "\n"); System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during apastron in km: " + object.aphelionDistance / 1000 + "\n");
System.out.println("Position during periastron (AU): " + AU.convertFromMeter(object.perihelion)); //System.out.println("Position during periastron (AU): " + AU.convertFromMeter(object.perihelion));
System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during periastron in km: " + object.perihelionDistance / 1000 + "\n"); System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during periastron in km: " + object.perihelionDistance / 1000 + "\n");
} else { } else {
System.out.println("Current position (m): " + objects.get(objectName).position + "\n"); //System.out.println("Current position (m): " + objects.get(objectName).position + "\n");
System.out.println("Highest point (z-axis graph) (m): " + object.absoluteMax); //System.out.println("Highest point (z-axis graph) (m): " + object.absoluteMax);
System.out.println("Lowest point (z-axis graph) (m): " + object.absoluteMin); //System.out.println("Lowest point (z-axis graph) (m): " + object.absoluteMin);
System.out.println("Calculated reference height (m) : " + object.referenceZ + "\n"); //System.out.println("Calculated reference height (m) : " + object.referenceZ + "\n");
if (object.ascendingNode != null) { if (object.ascendingNode != null) {
System.out.println("Ascending node (m): " + object.ascendingNode); System.out.println("Ascending node (m): " + object.ascendingNode);
@ -101,15 +104,20 @@ public class Processor {
System.out.println("WARNING:: Descending node not found.\n"); System.out.println("WARNING:: Descending node not found.\n");
} }
System.out.println("Position during apastron (m): " + object.aphelion); //System.out.println("Position during apastron (m): " + object.aphelion);
System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during apastron in km: " + object.aphelionDistance / 1000 + "\n"); System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during apastron in km: " + object.aphelionDistance / 1000 + "\n");
System.out.println("Position during periastron (m): " + object.perihelion); //System.out.println("Position during periastron (m): " + object.perihelion);
System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during periastron in km: " + object.perihelionDistance / 1000 + "\n"); System.out.println("Distance from (the) " + SimulatorConfig.sunName + " during periastron in km: " + object.perihelionDistance / 1000 + "\n");
} }
if (object.ascendingNode != null) { if (object.ascendingNode != null) {
System.out.println("Argument of periapsis (radians): " + AOP.calculate(object.ascendingNode, object.perihelion, object.aphelion)); System.out.println("Argument of periapsis (radians): " + AOP.calculate(object.ascendingNode, object.perihelion, object.aphelion));
System.out.println("Argument of periapsis (degrees): " + Math.toDegrees(AOP.calculate(object.ascendingNode, object.perihelion, object.aphelion))); System.out.println("Argument of periapsis (degrees): " + Math.toDegrees(AOP.calculate(object.ascendingNode, object.perihelion, object.aphelion)));
if (object.checkNodes()) {
arguments.add(Math.toDegrees(AOP.calculate(object.ascendingNode, object.perihelion, object.aphelion)));
}
} else { } else {
System.out.println("ERROR:: Can't calculate the argument of periapsis because the ascending node is missing."); System.out.println("ERROR:: Can't calculate the argument of periapsis because the ascending node is missing.");
} }
@ -158,6 +166,18 @@ public class Processor {
public void close() throws ProcessingException { public void close() throws ProcessingException {
try { try {
this.writer.save(); this.writer.save();
System.out.println("RESULTS: " + arguments);
// CALCULATE AVERAGE
double sum = 0;
for (int i = 0; i < arguments.size(); i++){
sum = sum + arguments.get(i);
}
// calculate average
double average = sum / arguments.size();
System.out.println("AVERAGE: " + average);
} catch(WritingException e) { } catch(WritingException e) {
throw new ProcessingException("An error occurred during creation of the file writer: " + e.toString()); throw new ProcessingException("An error occurred during creation of the file writer: " + e.toString());
} }