mirror of
https://github.com/christiaangoossens/Planetary-Orbit-Simulator
synced 2024-12-22 15:55:41 +00:00
Fixed all bugs, prepare for formatting.
This commit is contained in:
parent
c843051338
commit
f9c758de99
355
simulator/.idea/workspace.xml
generated
355
simulator/.idea/workspace.xml
generated
@ -7,10 +7,12 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<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$/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/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/Processor.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java" />
|
||||
</list>
|
||||
@ -34,116 +36,34 @@
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<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">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Simulator.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" />
|
||||
<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="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>
|
||||
</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">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<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" />
|
||||
<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>
|
||||
</file>
|
||||
<file leaf-file-name="Node.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java">
|
||||
<file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="544">
|
||||
<caret line="34" column="27" selection-start-line="34" selection-start-column="27" selection-end-line="34" selection-end-column="27" />
|
||||
<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 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>
|
||||
@ -189,18 +109,18 @@
|
||||
<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/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/mathUtils/AOP.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/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/mathUtils/AOP.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="x" value="-8" />
|
||||
<option name="x" value="-1928" />
|
||||
<option name="y" value="-8" />
|
||||
<option name="width" value="1936" />
|
||||
<option name="height" value="1056" />
|
||||
@ -246,8 +166,6 @@
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scratches" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
@ -343,8 +261,32 @@
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</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>
|
||||
</pane>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
@ -648,7 +590,7 @@
|
||||
<servers />
|
||||
</component>
|
||||
<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" />
|
||||
<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" />
|
||||
@ -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="Palette	" 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="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="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="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" />
|
||||
@ -695,7 +637,7 @@
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<option name="time" value="46" />
|
||||
<option name="time" value="49" />
|
||||
</breakpoint-manager>
|
||||
<watches-manager />
|
||||
</component>
|
||||
@ -716,7 +658,6 @@
|
||||
<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" />
|
||||
<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>
|
||||
@ -735,7 +676,6 @@
|
||||
<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" />
|
||||
<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>
|
||||
@ -747,8 +687,16 @@
|
||||
<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" />
|
||||
<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="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#setAcceleration#1;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#updatePosition#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" />
|
||||
</folding>
|
||||
</state>
|
||||
@ -783,7 +733,6 @@
|
||||
<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" />
|
||||
<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>
|
||||
@ -795,8 +744,16 @@
|
||||
<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" />
|
||||
<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="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#setAcceleration#1;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#updatePosition#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" />
|
||||
</folding>
|
||||
</state>
|
||||
@ -831,7 +790,6 @@
|
||||
<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" />
|
||||
<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>
|
||||
@ -843,8 +801,16 @@
|
||||
<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" />
|
||||
<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="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#setAcceleration#1;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#updatePosition#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" />
|
||||
</folding>
|
||||
</state>
|
||||
@ -879,7 +847,6 @@
|
||||
<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" />
|
||||
<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>
|
||||
@ -891,8 +858,16 @@
|
||||
<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" />
|
||||
<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="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#setAcceleration#1;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#updatePosition#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" />
|
||||
</folding>
|
||||
</state>
|
||||
@ -927,8 +904,16 @@
|
||||
<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" />
|
||||
<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="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#setAcceleration#1;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#updatePosition#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" />
|
||||
</folding>
|
||||
</state>
|
||||
@ -998,13 +985,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</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">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="205">
|
||||
@ -1013,17 +993,6 @@
|
||||
</provider>
|
||||
</entry>
|
||||
<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">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="408">
|
||||
@ -1035,63 +1004,19 @@
|
||||
</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="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">
|
||||
<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="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 />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Node.java">
|
||||
<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" />
|
||||
<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>
|
||||
@ -1099,10 +1024,9 @@
|
||||
</entry>
|
||||
<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" />
|
||||
<state relative-caret-position="1241">
|
||||
<caret line="96" column="95" selection-start-line="96" selection-start-column="95" selection-end-line="96" selection-end-column="95" />
|
||||
<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" />
|
||||
@ -1119,20 +1043,83 @@
|
||||
</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="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">
|
||||
<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" />
|
||||
<state relative-caret-position="255">
|
||||
<caret line="58" column="0" selection-start-line="58" selection-start-column="0" selection-end-line="58" selection-end-column="0" />
|
||||
<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#processHistory#0;class#ObjectProcessor#0" expanded="false" />
|
||||
<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#reset#0;class#ObjectProcessor#0" expanded="false" />
|
||||
<element signature="method#cleanHistory#0;class#ObjectProcessor#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="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 name="masterDetails">
|
||||
<states>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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 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 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
|
||||
|
@ -56,7 +56,11 @@ public class Simulator {
|
||||
/**
|
||||
* 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++) {
|
||||
objects[i].updatePosition(time);
|
||||
|
@ -5,7 +5,7 @@ public class SimulatorConfig {
|
||||
* 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
|
||||
|
||||
/**
|
||||
@ -15,13 +15,6 @@ public class SimulatorConfig {
|
||||
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
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
@ -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 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
|
||||
|
||||
/**
|
||||
* Console settings
|
||||
*/
|
||||
public static boolean logConsole = false;
|
||||
public static int skipConsole = 100000;
|
||||
}
|
||||
|
@ -10,10 +10,10 @@ public class AOP {
|
||||
Vector3d eccentricity = new Vector3d(0,0,0);
|
||||
eccentricity.sub(perihelion, aphelion);
|
||||
|
||||
if (perihelion.getY() > ascendingNode.getY()) {
|
||||
return ascendingNode.angle(eccentricity);
|
||||
} else {
|
||||
if (eccentricity.getZ() < 0) {
|
||||
return (2 * Math.PI) - ascendingNode.angle(eccentricity);
|
||||
} else {
|
||||
return ascendingNode.angle(eccentricity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,12 +16,12 @@ public class ObjectProcessor {
|
||||
public double aphelionDistance = -1;
|
||||
public double perihelionDistance = -1;
|
||||
|
||||
public Object thisObject;
|
||||
public Object referenceObject;
|
||||
private Object thisObject;
|
||||
private Object referenceObject;
|
||||
|
||||
public Vector3d startingPosition;
|
||||
public double lastStartDistance = -1;
|
||||
public double beforeLastStartDistance = -1;
|
||||
private Vector3d startingPosition;
|
||||
private double lastStartDistance = -1;
|
||||
private double beforeLastStartDistance = -1;
|
||||
|
||||
public Node ascendingNode;
|
||||
public Node descendingNode;
|
||||
@ -29,12 +29,17 @@ public class ObjectProcessor {
|
||||
public Node absoluteMax;
|
||||
public Node absoluteMin;
|
||||
|
||||
public Node carryOverNode;
|
||||
public int carryOverBit;
|
||||
private Node carryOverNode;
|
||||
private int carryOverBit;
|
||||
|
||||
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) {
|
||||
this.startingPosition = position;
|
||||
@ -108,23 +113,11 @@ public class ObjectProcessor {
|
||||
}
|
||||
|
||||
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.setRound(Simulator.round);
|
||||
}
|
||||
|
||||
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.setRound(Simulator.round);
|
||||
}
|
||||
@ -149,7 +142,9 @@ public class ObjectProcessor {
|
||||
Node result = this.findNode(this.absoluteMin, this.carryOverNode);
|
||||
|
||||
if (!result.empty()) {
|
||||
System.out.println("INFO:: Found descending node in round " + result.round + "\n");
|
||||
if (SimulatorConfig.logConsole) {
|
||||
System.out.println("INFO:: Found descending node in round " + result.round + "\n");
|
||||
}
|
||||
this.descendingNode = result;
|
||||
}
|
||||
} else {
|
||||
@ -157,7 +152,9 @@ public class ObjectProcessor {
|
||||
Node result = this.findNode(this.carryOverNode, this.absoluteMax);
|
||||
|
||||
if (!result.empty()) {
|
||||
System.out.println("INFO:: Found ascending node in round " + result.round + "\n");
|
||||
if (SimulatorConfig.logConsole) {
|
||||
System.out.println("INFO:: Found ascending node in round " + result.round + "\n");
|
||||
}
|
||||
this.ascendingNode = result;
|
||||
}
|
||||
}
|
||||
@ -181,7 +178,9 @@ public class ObjectProcessor {
|
||||
Node result = this.findNode(this.absoluteMin, this.absoluteMax);
|
||||
|
||||
if (!result.empty()) {
|
||||
System.out.println("INFO:: Found ascending node in round " + result.round + "\n");
|
||||
if (SimulatorConfig.logConsole) {
|
||||
System.out.println("INFO:: Found ascending node in round " + result.round + "\n");
|
||||
}
|
||||
this.ascendingNode = result;
|
||||
}
|
||||
|
||||
@ -195,7 +194,9 @@ public class ObjectProcessor {
|
||||
Node result = this.findNode(this.absoluteMin, this.absoluteMax);
|
||||
|
||||
if (!result.empty()) {
|
||||
System.out.println("INFO:: Found descending node in round " + result.round + "\n");
|
||||
if (SimulatorConfig.logConsole) {
|
||||
System.out.println("INFO:: Found descending node in round " + result.round + "\n");
|
||||
}
|
||||
this.descendingNode = result;
|
||||
}
|
||||
|
||||
@ -208,9 +209,31 @@ public class ObjectProcessor {
|
||||
|
||||
private Node findNode(Node min, Node max) {
|
||||
this.referenceZ = (min.getZ() + max.getZ()) / 2;
|
||||
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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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()) {
|
||||
Integer round = entry.getKey();
|
||||
Vector3d[] vectorArray = entry.getValue();
|
||||
@ -243,6 +266,10 @@ public class ObjectProcessor {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean checkNodes() {
|
||||
return !this.skipNodes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes the round check
|
||||
*/
|
||||
@ -259,7 +286,9 @@ public class ObjectProcessor {
|
||||
if (beforeLastStartDistance > lastStartDistance && startDistance > lastStartDistance) {
|
||||
// Last point was the closest to the starting position overall!
|
||||
fullRotation = true;
|
||||
System.out.println("INFO:: Object " + this.thisObject.name + " has made a full rotation last round.");
|
||||
if (SimulatorConfig.logConsole) {
|
||||
System.out.println("INFO:: Object " + this.thisObject.name + " has made a full rotation last round.");
|
||||
}
|
||||
}
|
||||
|
||||
beforeLastStartDistance = lastStartDistance;
|
||||
@ -300,6 +329,9 @@ public class ObjectProcessor {
|
||||
absoluteMax = new Node();
|
||||
absoluteMin = new Node();
|
||||
referenceZ = -1;
|
||||
lastMaxRound = -1;
|
||||
lastMinRound = -1;
|
||||
skipNodes = false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -8,6 +8,7 @@ import com.verictas.pos.simulator.dataWriter.WritingException;
|
||||
import com.verictas.pos.simulator.mathUtils.AOP;
|
||||
import com.verictas.pos.simulator.mathUtils.AU;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Processor {
|
||||
@ -15,6 +16,8 @@ public class Processor {
|
||||
public HashMap<String, Object> initialObjectValues = new HashMap<>();
|
||||
public HashMap<String, ObjectProcessor> objects = new HashMap<>();
|
||||
|
||||
public ArrayList<Double> arguments = new ArrayList<>();
|
||||
|
||||
public Processor(Object[] objects) throws ProcessingException, WritingException {
|
||||
/**
|
||||
* Initialize DataWriter
|
||||
@ -62,10 +65,10 @@ public class Processor {
|
||||
System.out.println("\n\n============== ROTATION DATA: " + objectName.toUpperCase() + ", ROUND " + (Simulator.round - 1) + " =============");
|
||||
|
||||
if (SimulatorConfig.outputUnit.equals("AU")) {
|
||||
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("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("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("Lowest point (z-axis graph) (AU): " + AU.convertFromMeter(object.absoluteMin));
|
||||
//System.out.println("Calculated reference height (AU) : " + AU.convertFromMeter(object.referenceZ) + "\n");
|
||||
|
||||
if (object.ascendingNode != null) {
|
||||
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("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("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");
|
||||
} else {
|
||||
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("Lowest point (z-axis graph) (m): " + object.absoluteMin);
|
||||
System.out.println("Calculated reference height (m) : " + object.referenceZ + "\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("Lowest point (z-axis graph) (m): " + object.absoluteMin);
|
||||
//System.out.println("Calculated reference height (m) : " + object.referenceZ + "\n");
|
||||
|
||||
if (object.ascendingNode != null) {
|
||||
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("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("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");
|
||||
}
|
||||
|
||||
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 (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 {
|
||||
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 {
|
||||
try {
|
||||
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) {
|
||||
throw new ProcessingException("An error occurred during creation of the file writer: " + e.toString());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user