mirror of
				https://github.com/christiaangoossens/Planetary-Orbit-Simulator
				synced 2025-10-31 10:42:48 +00:00 
			
		
		
		
	Fixed bugs with the node calculations
There's a small bug with there possibly being two minima or maxima in one round. The simulator can't handle that currently.
This commit is contained in:
		
							
								
								
									
										293
									
								
								simulator/.idea/workspace.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										293
									
								
								simulator/.idea/workspace.xml
									
									
									
										generated
									
									
									
								
							| @@ -7,12 +7,10 @@ | |||||||
|   </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$/.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/mathUtils/AU.java" afterPath="$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/AU.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> | ||||||
| @@ -49,38 +47,98 @@ | |||||||
|       <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="-3"> |             <state relative-caret-position="136"> | ||||||
|               <caret line="62" column="0" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" /> |               <caret line="8" column="24" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="24" /> | ||||||
|               <folding> |               <folding> | ||||||
|                 <element signature="imports" expanded="true" /> |                 <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="ObjectProcessor.java" pinned="false" current-in-tab="false"> |       <file leaf-file-name="Main.java" pinned="false" current-in-tab="false"> | ||||||
|         <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.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="-479"> |             <state relative-caret-position="629"> | ||||||
|               <caret line="9" column="31" selection-start-line="9" selection-start-column="31" selection-end-line="9" selection-end-column="31" /> |               <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" /> | ||||||
|  |               <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"> | ||||||
|  |           <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> |               <folding> | ||||||
|                 <element signature="imports" expanded="true" /> |                 <element signature="e#287#288#0" expanded="true" /> | ||||||
|                 <element signature="method#processAphelionAndPerihelion#0;class#ObjectProcessor#0" expanded="false" /> |                 <element signature="e#319#320#0" expanded="true" /> | ||||||
|                 <element signature="method#calculateTops#0;class#ObjectProcessor#0" expanded="false" /> |                 <element signature="e#394#395#0" expanded="true" /> | ||||||
|                 <element signature="method#processNodes#0;class#ObjectProcessor#0" expanded="false" /> |                 <element signature="e#439#440#0" expanded="true" /> | ||||||
|                 <element signature="method#processRoundCheck#0;class#ObjectProcessor#0" expanded="false" /> |                 <element signature="method#empty#0;class#Node#0" expanded="false" /> | ||||||
|                 <element signature="method#reset#0;class#ObjectProcessor#0" expanded="false" /> |  | ||||||
|               </folding> |               </folding> | ||||||
|             </state> |             </state> | ||||||
|           </provider> |           </provider> | ||||||
|         </entry> |         </entry> | ||||||
|       </file> |       </file> | ||||||
|       <file leaf-file-name="Processor.java" pinned="false" current-in-tab="true"> |       <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"> |         <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/Processor.java"> | ||||||
|           <provider selected="true" editor-type-id="text-editor"> |           <provider selected="true" editor-type-id="text-editor"> | ||||||
|             <state relative-caret-position="425"> |             <state relative-caret-position="544"> | ||||||
|               <caret line="102" column="64" selection-start-line="102" selection-start-column="64" selection-end-line="102" selection-end-column="64" /> |               <caret line="63" column="62" selection-start-line="63" selection-start-column="16" selection-end-line="63" selection-end-column="62" /> | ||||||
|               <folding> |               <folding> | ||||||
|                 <element signature="imports" expanded="true" /> |                 <element signature="imports" expanded="true" /> | ||||||
|                 <element signature="method#objectArrayToHashMap#0;class#Processor#0" expanded="false" /> |                 <element signature="method#objectArrayToHashMap#0;class#Processor#0" expanded="false" /> | ||||||
| @@ -131,12 +189,13 @@ | |||||||
|         <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/Simulator.java" /> |  | ||||||
|         <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/processor/ObjectProcessor.java" /> |  | ||||||
|         <option value="$PROJECT_DIR$/src/com/verictas/pos/simulator/SimulatorConfig.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/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/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" /> | ||||||
|       </list> |       </list> | ||||||
|     </option> |     </option> | ||||||
|   </component> |   </component> | ||||||
| @@ -187,6 +246,8 @@ | |||||||
|       <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> | ||||||
| @@ -284,8 +345,6 @@ | |||||||
|           </PATH> |           </PATH> | ||||||
|         </subPane> |         </subPane> | ||||||
|       </pane> |       </pane> | ||||||
|       <pane id="Scope" /> |  | ||||||
|       <pane id="PackagesPane" /> |  | ||||||
|     </panes> |     </panes> | ||||||
|   </component> |   </component> | ||||||
|   <component name="PropertiesComponent"> |   <component name="PropertiesComponent"> | ||||||
| @@ -295,6 +354,7 @@ | |||||||
|     <property name="project.structure.last.edited" value="Artifacts" /> |     <property name="project.structure.last.edited" value="Artifacts" /> | ||||||
|     <property name="project.structure.proportion" value="0.15" /> |     <property name="project.structure.proportion" value="0.15" /> | ||||||
|     <property name="project.structure.side.proportion" value="0.2" /> |     <property name="project.structure.side.proportion" value="0.2" /> | ||||||
|  |     <property name="SearchEverywhereHistoryKey" value="	FILE	file://D:/Projecten/PWS/simulator/src/com/verictas/pos/simulator/Node.java" /> | ||||||
|   </component> |   </component> | ||||||
|   <component name="RecentsManager"> |   <component name="RecentsManager"> | ||||||
|     <key name="MoveFile.RECENT_KEYS"> |     <key name="MoveFile.RECENT_KEYS"> | ||||||
| @@ -593,18 +653,17 @@ | |||||||
|     <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" /> | ||||||
|       <window_info id="TODO" 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="6" side_tool="false" content_ui="tabs" /> |       <window_info id="TODO" 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="6" 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.49375" 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	" 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	" 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.30866808" sideWeight="0.42083332" 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.20084566" sideWeight="0.4328125" 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="true" show_stripe_button="true" weight="0.30866808" sideWeight="0.57916665" 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="false" show_stripe_button="true" weight="0.20084566" sideWeight="0.5671875" 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" /> | ||||||
|       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17864583" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> |       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17864583" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> | ||||||
|       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32980973" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |  | ||||||
|       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | ||||||
|       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | ||||||
|       <window_info id="UI Designer" 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="3" side_tool="false" content_ui="tabs" /> |       <window_info id="UI Designer" 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="3" side_tool="false" content_ui="tabs" /> | ||||||
| @@ -616,6 +675,7 @@ | |||||||
|       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> |       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> | ||||||
|       <window_info id="Documentation" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="FLOATING" visible="false" show_stripe_button="true" weight="0.48125" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" x="1312" y="663" width="586" height="345" /> |       <window_info id="Documentation" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="FLOATING" visible="false" show_stripe_button="true" weight="0.48125" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" x="1312" y="663" width="586" height="345" /> | ||||||
|       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> |       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> | ||||||
|  |       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32980973" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | ||||||
|     </layout> |     </layout> | ||||||
|   </component> |   </component> | ||||||
|   <component name="Vcs.Log.UiProperties"> |   <component name="Vcs.Log.UiProperties"> | ||||||
| @@ -635,7 +695,7 @@ | |||||||
|   </component> |   </component> | ||||||
|   <component name="XDebuggerManager"> |   <component name="XDebuggerManager"> | ||||||
|     <breakpoint-manager> |     <breakpoint-manager> | ||||||
|       <option name="time" value="36" /> |       <option name="time" value="46" /> | ||||||
|     </breakpoint-manager> |     </breakpoint-manager> | ||||||
|     <watches-manager /> |     <watches-manager /> | ||||||
|   </component> |   </component> | ||||||
| @@ -644,13 +704,6 @@ | |||||||
|     <option name="FILTER_TARGETS" value="false" /> |     <option name="FILTER_TARGETS" value="false" /> | ||||||
|   </component> |   </component> | ||||||
|   <component name="editorHistoryManager"> |   <component name="editorHistoryManager"> | ||||||
|     <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/mathUtils/Vector3dMatrix.java"> |  | ||||||
|       <provider selected="true" editor-type-id="text-editor"> |  | ||||||
|         <state relative-caret-position="2442"> |  | ||||||
|           <caret line="116" column="5" selection-start-line="116" selection-start-column="5" selection-end-line="116" selection-end-column="5" /> |  | ||||||
|         </state> |  | ||||||
|       </provider> |  | ||||||
|     </entry> |  | ||||||
|     <entry file="file://$PROJECT_DIR$/src/com/verictas/pos/simulator/Main.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="0"> |         <state relative-caret-position="0"> | ||||||
| @@ -664,6 +717,7 @@ | |||||||
|           <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="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> | ||||||
| @@ -682,6 +736,7 @@ | |||||||
|           <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="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> | ||||||
| @@ -729,6 +784,7 @@ | |||||||
|           <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="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> | ||||||
| @@ -776,6 +832,7 @@ | |||||||
|           <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="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> | ||||||
| @@ -823,6 +880,7 @@ | |||||||
|           <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="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> | ||||||
| @@ -954,17 +1012,94 @@ | |||||||
|         </state> |         </state> | ||||||
|       </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"> |       <provider selected="true" editor-type-id="text-editor"> | ||||||
|         <state relative-caret-position="85"> |         <state relative-caret-position="577"> | ||||||
|           <caret line="5" column="24" selection-start-line="5" selection-start-column="24" selection-end-line="5" selection-end-column="24" /> |           <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"> | ||||||
|  |           <caret line="52" column="41" selection-start-line="52" selection-start-column="25" selection-end-line="52" selection-end-column="41" /> | ||||||
|  |           <folding> | ||||||
|  |             <element signature="e#1368#1369#0" expanded="false" /> | ||||||
|  |             <element signature="e#1412#1413#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="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 /> |           <folding /> | ||||||
|         </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="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"> | ||||||
|  |         <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" /> | ||||||
|  |           <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"> | ||||||
|  |           <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> | ||||||
|     <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="164"> |         <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" /> |           <caret line="146" column="7" selection-start-line="146" selection-start-column="7" selection-end-line="146" selection-end-column="7" /> | ||||||
|           <folding> |           <folding> | ||||||
|             <element signature="imports" expanded="true" /> |             <element signature="imports" expanded="true" /> | ||||||
| @@ -984,86 +1119,16 @@ | |||||||
|         </state> |         </state> | ||||||
|       </provider> |       </provider> | ||||||
|     </entry> |     </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="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"> |  | ||||||
|           <caret line="52" column="41" selection-start-line="52" selection-start-column="25" selection-end-line="52" selection-end-column="41" /> |  | ||||||
|           <folding> |  | ||||||
|             <element signature="e#1368#1369#0" expanded="true" /> |  | ||||||
|             <element signature="e#1412#1413#0" expanded="true" /> |  | ||||||
|           </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="272"> |  | ||||||
|           <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"> |  | ||||||
|         <state relative-caret-position="102"> |  | ||||||
|           <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> |  | ||||||
|           <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/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="-479"> |         <state relative-caret-position="286"> | ||||||
|           <caret line="9" column="31" selection-start-line="9" selection-start-column="31" selection-end-line="9" selection-end-column="31" /> |           <caret line="109" column="72" selection-start-line="109" selection-start-column="72" selection-end-line="109" selection-end-column="72" /> | ||||||
|           <folding> |           <folding> | ||||||
|             <element signature="imports" expanded="true" /> |             <element signature="imports" expanded="true" /> | ||||||
|             <element signature="method#processAphelionAndPerihelion#0;class#ObjectProcessor#0" expanded="false" /> |             <element signature="e#1132#1133#0" expanded="true" /> | ||||||
|             <element signature="method#calculateTops#0;class#ObjectProcessor#0" expanded="false" /> |             <element signature="e#1172#1173#0" expanded="true" /> | ||||||
|             <element signature="method#processNodes#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" /> | ||||||
|           </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="-3"> |  | ||||||
|           <caret line="62" column="0" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" /> |  | ||||||
|           <folding> |  | ||||||
|             <element signature="imports" expanded="true" /> |  | ||||||
|             <element signature="method#accelerate#0;class#Simulator#0" expanded="false" /> |  | ||||||
|           </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="425"> |  | ||||||
|           <caret line="102" column="64" selection-start-line="102" selection-start-column="64" selection-end-line="102" selection-end-column="64" /> |  | ||||||
|           <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> |           </folding> | ||||||
|         </state> |         </state> | ||||||
|       </provider> |       </provider> | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										41
									
								
								simulator/src/com/verictas/pos/simulator/Node.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								simulator/src/com/verictas/pos/simulator/Node.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | package com.verictas.pos.simulator; | ||||||
|  |  | ||||||
|  | import javax.vecmath.Vector3d; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Storage object for storing nodes on the graph | ||||||
|  |  */ | ||||||
|  | public class Node extends Vector3d { | ||||||
|  |     public int round; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Constructor for casting | ||||||
|  |      * @param vector | ||||||
|  |      */ | ||||||
|  |     public Node(Vector3d vector) { | ||||||
|  |         this.set(vector); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Constructor for empty creation | ||||||
|  |      */ | ||||||
|  |     public Node() { | ||||||
|  |         this.set(new Vector3d(0,0,0)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Sets the stored round associated with this node | ||||||
|  |      * (It will most likely be the round when this node is reached) | ||||||
|  |      * @param round | ||||||
|  |      */ | ||||||
|  |     public void setRound(int round) { | ||||||
|  |         this.round = round; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public boolean empty() { | ||||||
|  |         if (this.getX() == 0 && this.getY() == 0 && this.getZ() == 0) { | ||||||
|  |             return true; | ||||||
|  |         } | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -7,6 +7,12 @@ import com.verictas.pos.simulator.processor.ProcessingException; | |||||||
| import com.verictas.pos.simulator.processor.Processor; | import com.verictas.pos.simulator.processor.Processor; | ||||||
|  |  | ||||||
| public class Simulator { | public class Simulator { | ||||||
|  |     public static int round = 0; // Stores an global integer value with the current round (as a timestamp) | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Run method for the Simulator | ||||||
|  |      * @param objects | ||||||
|  |      */ | ||||||
|     public static void run(Object[] objects) { |     public static void run(Object[] objects) { | ||||||
|  |  | ||||||
|         /** |         /** | ||||||
| @@ -44,11 +50,13 @@ public class Simulator { | |||||||
|              * Start the rounds loop |              * Start the rounds loop | ||||||
|              */ |              */ | ||||||
|             for(int t = 0; t != rounds; t++) { |             for(int t = 0; t != rounds; t++) { | ||||||
|  |                 // Set round | ||||||
|  |                 Simulator.round++; | ||||||
|  |  | ||||||
|                 /** |                 /** | ||||||
|                  * The round has started |                  * The round has started | ||||||
|                  */ |                  */ | ||||||
|                 //System.out.println("\nRound " + (t + 1) + " started!"); |                 System.out.println("Round " + (Simulator.round + 1) + " started!"); | ||||||
|                 System.out.println("Round " + (t + 1) + " 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); | ||||||
| @@ -64,7 +72,7 @@ public class Simulator { | |||||||
|                 /** |                 /** | ||||||
|                  * Do the processing on the objects |                  * Do the processing on the objects | ||||||
|                  */ |                  */ | ||||||
|                 processor.process(objects, t + 1); |                 processor.process(objects); | ||||||
|  |  | ||||||
|                 /** |                 /** | ||||||
|                  * The round has ended |                  * The round has ended | ||||||
| @@ -83,13 +91,20 @@ public class Simulator { | |||||||
|             long stopTime = System.currentTimeMillis(); |             long stopTime = System.currentTimeMillis(); | ||||||
|             System.out.println("Simulation took: " + (stopTime - startTime) + "ms"); |             System.out.println("Simulation took: " + (stopTime - startTime) + "ms"); | ||||||
|         } catch(ProcessingException e) { |         } catch(ProcessingException e) { | ||||||
|  |             System.out.println("\nERROR:: Processing failed."); | ||||||
|             e.printStackTrace(); |             e.printStackTrace(); | ||||||
|         } catch(WritingException e) { |         } catch(WritingException e) { | ||||||
|  |             System.out.println("\nERROR:: Writing to file failed."); | ||||||
|             e.printStackTrace(); |             e.printStackTrace(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void accelerate(Object[] objects, Vector3dMatrix matrix) { |     /** | ||||||
|  |      * Accelerates the given objects, puts the results in the given matrix and enacts forces | ||||||
|  |      * @param objects | ||||||
|  |      * @param matrix | ||||||
|  |      */ | ||||||
|  |     private static void accelerate(Object[] objects, Vector3dMatrix matrix) { | ||||||
|         // Loop |         // Loop | ||||||
|         for(int i = 0; i < objects.length; i++) { |         for(int i = 0; i < objects.length; i++) { | ||||||
|             /** |             /** | ||||||
| @@ -109,27 +124,20 @@ public class Simulator { | |||||||
|  |  | ||||||
|                 Vector3d force = objects[i].getForceOnObject(objects[o]); |                 Vector3d force = objects[i].getForceOnObject(objects[o]); | ||||||
|                 matrix.setPosition(force, i, o); |                 matrix.setPosition(force, i, o); | ||||||
|                 //System.out.println("Force " + (i + 1) + " on " + (o + 1) + " - " + force); |  | ||||||
|  |  | ||||||
|                 /** |                 /** | ||||||
|                  * Also put in the opposite force |                  * Also put in the opposite force | ||||||
|                  */ |                  */ | ||||||
|                 force.scale(-1); |                 force.scale(-1); | ||||||
|                 matrix.setPosition(force, o, i); |                 matrix.setPosition(force, o, i); | ||||||
|                 //System.out.println("Force " + (o + 1) + " on " + (i + 1) + " - " + force); |  | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |  | ||||||
|         //System.out.println("\n"); |  | ||||||
|         //System.out.println(matrix); |  | ||||||
|  |  | ||||||
|         for(int i = 0; i < objects.length; i++) { |         for(int i = 0; i < objects.length; i++) { | ||||||
|             /** |             /** | ||||||
|              * Progress forces on the object |              * Progress forces on the object | ||||||
|              */ |              */ | ||||||
|             Vector3d forceOnI = matrix.getColumnTotal(i); |             Vector3d forceOnI = matrix.getColumnTotal(i); | ||||||
|             //System.out.println("All forces on " + (i + 1) + " - " + forceOnI); |  | ||||||
|             objects[i].enactForceOnObject(forceOnI); |             objects[i].enactForceOnObject(forceOnI); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ public class SimulatorConfig { | |||||||
|      * Time settings |      * Time settings | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     public static int rounds = 526100 * 10; // Amount of rounds to run the simulator for |     public static int rounds = 526100 * 35; // 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 | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -1,13 +1,18 @@ | |||||||
| package com.verictas.pos.simulator.processor; | package com.verictas.pos.simulator.processor; | ||||||
|  |  | ||||||
|  | import com.verictas.pos.simulator.Node; | ||||||
| import com.verictas.pos.simulator.Object; | import com.verictas.pos.simulator.Object; | ||||||
|  | import com.verictas.pos.simulator.Simulator; | ||||||
|  | import com.verictas.pos.simulator.SimulatorConfig; | ||||||
|  |  | ||||||
| import javax.vecmath.Vector3d; | import javax.vecmath.Vector3d; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
|  | import java.util.Iterator; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
|  |  | ||||||
| public class ObjectProcessor { | public class ObjectProcessor { | ||||||
|     public Vector3d aphelion; |     public Node aphelion; | ||||||
|     public Vector3d perihelion; |     public Node perihelion; | ||||||
|     public double aphelionDistance = -1; |     public double aphelionDistance = -1; | ||||||
|     public double perihelionDistance = -1; |     public double perihelionDistance = -1; | ||||||
|  |  | ||||||
| @@ -18,11 +23,14 @@ public class ObjectProcessor { | |||||||
|     public double lastStartDistance = -1; |     public double lastStartDistance = -1; | ||||||
|     public double beforeLastStartDistance = -1; |     public double beforeLastStartDistance = -1; | ||||||
|  |  | ||||||
|     public Vector3d ascendingNode; |     public Node ascendingNode; | ||||||
|     public Vector3d descendingNode; |     public Node descendingNode; | ||||||
|  |  | ||||||
|     public Vector3d absoluteMax; |     public Node absoluteMax; | ||||||
|     public Vector3d absoluteMin; |     public Node absoluteMin; | ||||||
|  |  | ||||||
|  |     public Node carryOverNode; | ||||||
|  |     public int carryOverBit; | ||||||
|  |  | ||||||
|     public double referenceZ; |     public double referenceZ; | ||||||
|  |  | ||||||
| @@ -44,8 +52,8 @@ public class ObjectProcessor { | |||||||
|      * Keep an history of the object position and speed (for logging and further processing) |      * Keep an history of the object position and speed (for logging and further processing) | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     public void processHistory(int round) { |     public void processHistory() { | ||||||
|         this.history.put(round, new Vector3d[] {this.thisObject.position, this.thisObject.speed}); |         this.history.put(Simulator.round, new Vector3d[] {this.thisObject.position, this.thisObject.speed}); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -71,12 +79,14 @@ public class ObjectProcessor { | |||||||
|          */ |          */ | ||||||
|  |  | ||||||
|         if (sunDistance > aphelionDistance) { |         if (sunDistance > aphelionDistance) { | ||||||
|             this.aphelion = this.thisObject.position; |             this.aphelion = new Node(this.thisObject.position); | ||||||
|  |             this.aphelion.setRound(Simulator.round); | ||||||
|             this.aphelionDistance = sunDistance; |             this.aphelionDistance = sunDistance; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (sunDistance < perihelionDistance) { |         if (sunDistance < perihelionDistance) { | ||||||
|             this.perihelion = this.thisObject.position; |             this.perihelion = new Node(this.thisObject.position); | ||||||
|  |             this.perihelion.setRound(Simulator.round); | ||||||
|             this.perihelionDistance = sunDistance; |             this.perihelionDistance = sunDistance; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| @@ -87,20 +97,36 @@ public class ObjectProcessor { | |||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     public void calculateTops() { |     public void calculateTops() { | ||||||
|         if (this.absoluteMax == null) { |         if (this.absoluteMax == null || this.absoluteMax.empty()) { | ||||||
|             this.absoluteMax = this.thisObject.position; |             this.absoluteMax = new Node(this.thisObject.position); | ||||||
|  |             this.absoluteMax.setRound(Simulator.round); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (this.absoluteMin == null) { |         if (this.absoluteMin == null || this.absoluteMin.empty()) { | ||||||
|             this.absoluteMin = this.thisObject.position; |             this.absoluteMin = new Node(this.thisObject.position); | ||||||
|  |             this.absoluteMin.setRound(Simulator.round); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (this.thisObject.position.getZ() > this.absoluteMax.getZ()) { |         if (this.thisObject.position.getZ() > this.absoluteMax.getZ()) { | ||||||
|             this.absoluteMax = this.thisObject.position; |             /** | ||||||
|  |              * 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 (this.thisObject.position.getZ() < this.absoluteMin.getZ()) { | ||||||
|             this.absoluteMin = this.thisObject.position; |             /** | ||||||
|  |              * 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); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     /** |     /** | ||||||
| @@ -108,40 +134,113 @@ public class ObjectProcessor { | |||||||
|      */ |      */ | ||||||
|  |  | ||||||
|     public void processNodes() { |     public void processNodes() { | ||||||
|         this.referenceZ = (this.absoluteMin.getZ() + this.absoluteMax.getZ()) / 2; |         /** | ||||||
|  |          * Determine how the starting positions are | ||||||
|  |          */ | ||||||
|  |  | ||||||
|  |         /** | ||||||
|  |          * Carry out carry over checking | ||||||
|  |          */ | ||||||
|  |  | ||||||
|  |         if (this.carryOverNode != null) { | ||||||
|  |             // There is a node present in memory from last round. We should check what the carryOverBit is, to see if it's a maximum or a minimum | ||||||
|  |             if (this.carryOverBit == 1) { | ||||||
|  |                 // Last rounds node is a maximum, we're searching for a descending node | ||||||
|  |                 Node result = this.findNode(this.absoluteMin, this.carryOverNode); | ||||||
|  |  | ||||||
|  |                 if (!result.empty()) { | ||||||
|  |                     System.out.println("INFO:: Found descending node in round " + result.round + "\n"); | ||||||
|  |                     this.descendingNode = result; | ||||||
|  |                 } | ||||||
|  |             } else { | ||||||
|  |                 // Last rounds node is a minimum, we're searching for an ascending node | ||||||
|  |                 Node result = this.findNode(this.carryOverNode, this.absoluteMax); | ||||||
|  |  | ||||||
|  |                 if (!result.empty()) { | ||||||
|  |                     System.out.println("INFO:: Found ascending node in round " + result.round + "\n"); | ||||||
|  |                     this.ascendingNode = result; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             // Cleaning up | ||||||
|  |             this.carryOverNode = null; | ||||||
|  |             this.carryOverBit = -1; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         /** | ||||||
|  |          * Carry out the normal checking | ||||||
|  |          */ | ||||||
|  |  | ||||||
|  |         double minRound = this.absoluteMin.round; | ||||||
|  |         double maxRound = this.absoluteMax.round; | ||||||
|  |  | ||||||
|  |         if (minRound < maxRound) { | ||||||
|  |             // The minimum came before the maximum node, we're expecting to find the ascending node between the two | ||||||
|  |             // The maximum node should remain in memory to find the descending node next round | ||||||
|  |  | ||||||
|  |             Node result = this.findNode(this.absoluteMin, this.absoluteMax); | ||||||
|  |  | ||||||
|  |             if (!result.empty()) { | ||||||
|  |                 System.out.println("INFO:: Found ascending node in round " + result.round + "\n"); | ||||||
|  |                 this.ascendingNode = result; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             this.carryOverNode = this.absoluteMax; | ||||||
|  |             this.carryOverBit = 1; | ||||||
|  |             this.cleanHistory(this.absoluteMax.round); | ||||||
|  |         } else { | ||||||
|  |             // The maximum came before the minimum node, we're expecting to find the descending node between the two | ||||||
|  |             // The minimum node should remain in memory to find the ascending node next round | ||||||
|  |  | ||||||
|  |             Node result = this.findNode(this.absoluteMin, this.absoluteMax); | ||||||
|  |  | ||||||
|  |             if (!result.empty()) { | ||||||
|  |                 System.out.println("INFO:: Found descending node in round " + result.round + "\n"); | ||||||
|  |                 this.descendingNode = result; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             this.carryOverNode = this.absoluteMin; | ||||||
|  |             this.carryOverBit = 0; | ||||||
|  |             this.cleanHistory(this.absoluteMin.round); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     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); | ||||||
|  |         Node returnNode = new Node(); | ||||||
|  |  | ||||||
|         // Loop through the entire history |  | ||||||
|         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(); | ||||||
|  |  | ||||||
|             if (this.history.get(round + 1) != null) { |             boolean roundCheck; | ||||||
|                 // There is a next key! |  | ||||||
|  |             if (min.round < max.round) { | ||||||
|  |                 roundCheck = min.round < round && round < max.round; | ||||||
|  |             } else { | ||||||
|  |                 roundCheck = max.round < round && round < min.round; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             if ((this.history.get(round + 1) != null) && roundCheck) { | ||||||
|  |                 // There is a next key and this key is within logical bounds | ||||||
|  |  | ||||||
|                 if (vectorArray[0].getZ() < referenceZ && this.history.get(round + 1)[0].getZ() > referenceZ) { |                 if (vectorArray[0].getZ() < referenceZ && this.history.get(round + 1)[0].getZ() > referenceZ) { | ||||||
|                     // This point is below the reference height and the next is above. This point is the ascending node (with positive z) |                     returnNode = new Node(vectorArray[0]); | ||||||
|                     if (referenceZ <= 0) { |                     returnNode.setRound(round); | ||||||
|                         // Descending |  | ||||||
|                         this.descendingNode = vectorArray[0]; |  | ||||||
|                         System.out.println("INFO:: Found a descending node at round " + round + " at position: " + vectorArray[0]); |  | ||||||
|                     } else { |  | ||||||
|                         // Ascending |  | ||||||
|                         this.ascendingNode = vectorArray[0]; |  | ||||||
|                         System.out.println("INFO:: Found a ascending node at round " + round + " at position: " + vectorArray[0]); |  | ||||||
|                     } |  | ||||||
|                 } else if (vectorArray[0].getZ() > referenceZ && this.history.get(round + 1)[0].getZ() < referenceZ) { |                 } else if (vectorArray[0].getZ() > referenceZ && this.history.get(round + 1)[0].getZ() < referenceZ) { | ||||||
|                     // This point is above the reference height and the next is below. This point is the descending node (with positive z) |                     returnNode = new Node(vectorArray[0]); | ||||||
|                     if (referenceZ <= 0) { |                     returnNode.setRound(round); | ||||||
|                         // Ascending |  | ||||||
|                         this.ascendingNode = vectorArray[0]; |  | ||||||
|                         System.out.println("INFO:: Found a ascending node at round " + round + " at position: " + vectorArray[0]); |  | ||||||
|                     } else { |  | ||||||
|                         // Descending |  | ||||||
|                         this.descendingNode = vectorArray[0]; |  | ||||||
|                         System.out.println("INFO:: Found a descending node at round " + round + " at position: " + vectorArray[0]); |  | ||||||
|                     } |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         if (!returnNode.empty()) { | ||||||
|  |             return returnNode; | ||||||
|  |         } else { | ||||||
|  |             return new Node(); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -194,13 +293,25 @@ public class ObjectProcessor { | |||||||
|         perihelionDistance = -1; |         perihelionDistance = -1; | ||||||
|         lastStartDistance = -1; |         lastStartDistance = -1; | ||||||
|         beforeLastStartDistance = -1; |         beforeLastStartDistance = -1; | ||||||
|         aphelion = null; |         aphelion = new Node(); | ||||||
|         perihelion = null; |         perihelion = new Node(); | ||||||
|         ascendingNode = null; |         ascendingNode = new Node(); | ||||||
|         descendingNode = null; |         descendingNode = new Node(); | ||||||
|         history = new HashMap<>(); |         absoluteMax = new Node(); | ||||||
|         absoluteMax = null; |         absoluteMin = new Node(); | ||||||
|         absoluteMin = null; |  | ||||||
|         referenceZ = -1; |         referenceZ = -1; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Clears all entries from history before the given key | ||||||
|  |      * @param key | ||||||
|  |      */ | ||||||
|  |     public void cleanHistory(int key) { | ||||||
|  |         for(Iterator<Map.Entry<Integer, Vector3d[]>> it = this.history.entrySet().iterator(); it.hasNext(); ) { | ||||||
|  |             Map.Entry<Integer, Vector3d[]> entry = it.next(); | ||||||
|  |             if(entry.getKey() < key) { | ||||||
|  |                 it.remove(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| package com.verictas.pos.simulator.processor; | package com.verictas.pos.simulator.processor; | ||||||
|  |  | ||||||
| import com.verictas.pos.simulator.Object; | import com.verictas.pos.simulator.Object; | ||||||
|  | import com.verictas.pos.simulator.Simulator; | ||||||
| import com.verictas.pos.simulator.SimulatorConfig; | import com.verictas.pos.simulator.SimulatorConfig; | ||||||
| import com.verictas.pos.simulator.dataWriter.DataWriter; | import com.verictas.pos.simulator.dataWriter.DataWriter; | ||||||
| import com.verictas.pos.simulator.dataWriter.WritingException; | import com.verictas.pos.simulator.dataWriter.WritingException; | ||||||
| @@ -37,7 +38,7 @@ public class Processor { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public void process(Object[] objectArray, int rounds) throws ProcessingException, WritingException { |     public void process(Object[] objectArray) throws ProcessingException, WritingException { | ||||||
|         HashMap<String, Object> objects = objectArrayToHashMap(objectArray); |         HashMap<String, Object> objects = objectArrayToHashMap(objectArray); | ||||||
|  |  | ||||||
|         /** |         /** | ||||||
| @@ -48,7 +49,7 @@ public class Processor { | |||||||
|  |  | ||||||
|             object.setObjectData(objects.get(objectName)); |             object.setObjectData(objects.get(objectName)); | ||||||
|             object.setReferenceObjectData(objects.get(SimulatorConfig.sunName)); |             object.setReferenceObjectData(objects.get(SimulatorConfig.sunName)); | ||||||
|             object.processHistory(rounds); |             object.processHistory(); | ||||||
|  |  | ||||||
|             // Check if the object has gone round last round |             // Check if the object has gone round last round | ||||||
|  |  | ||||||
| @@ -58,9 +59,9 @@ public class Processor { | |||||||
|                 object.processNodes(); |                 object.processNodes(); | ||||||
|  |  | ||||||
|                 // ECHO:: Object has gone full circle last round! |                 // ECHO:: Object has gone full circle last round! | ||||||
|                 System.out.println("\n\n============== ROTATION DATA: " + objectName.toUpperCase() + ", ROUND " + (rounds - 1) + " ============="); |                 System.out.println("\n\n============== ROTATION DATA: " + objectName.toUpperCase() + ", ROUND " + (Simulator.round - 1) + " ============="); | ||||||
|  |  | ||||||
|                 if (SimulatorConfig.outputUnit == "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)); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user