Wrote some comments and added compile instructions to the readme

This commit is contained in:
jan 2017-01-08 15:37:35 -08:00
parent 170a45751c
commit 7dad701fe0
9 changed files with 382 additions and 262 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
out
*.class

View File

@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="6e752a8c-6cb9-4ef9-9031-0329ce15fcb4" name="Default" comment="Ellipse can be drawn..." />
<list default="true" id="6e752a8c-6cb9-4ef9-9031-0329ce15fcb4" name="Default" comment="Ellipse can be drawn...">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/Camera.java" afterPath="$PROJECT_DIR$/src/Camera.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/EuglenaApplet.java" afterPath="$PROJECT_DIR$/src/EuglenaApplet.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/LEDControl.java" afterPath="$PROJECT_DIR$/src/LEDControl.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/Line.java" afterPath="$PROJECT_DIR$/src/Line.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ProjectorApplet.java" afterPath="$PROJECT_DIR$/src/ProjectorApplet.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/Settings.java" afterPath="$PROJECT_DIR$/src/Settings.java" />
</list>
<ignored path="processing-intellij.iws" />
<ignored path=".idea/workspace.xml" />
<ignored path="$PROJECT_DIR$/out/" />
@ -22,51 +29,28 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="EuglenaApplet.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/EuglenaApplet.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="612">
<caret line="17" column="9" selection-start-line="17" selection-start-column="9" selection-end-line="17" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ProjectorApplet.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ProjectorApplet.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1908">
<caret line="53" column="0" selection-start-line="53" selection-start-column="0" selection-end-line="53" selection-end-column="0" />
<state relative-caret-position="324">
<caret line="9" column="53" selection-start-line="9" selection-start-column="53" selection-end-line="9" selection-end-column="53" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#545#546#0" expanded="true" />
<element signature="e#604#605#0" expanded="true" />
<element signature="e#1744#1745#0" expanded="true" />
<element signature="e#1784#1785#0" expanded="true" />
<element signature="e#1049#1050#0" expanded="true" />
<element signature="e#1108#1109#0" expanded="true" />
<element signature="e#2751#2752#0" expanded="true" />
<element signature="e#2791#2792#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Calibrator.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Calibrator.java">
<file leaf-file-name="Line.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Line.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="684">
<caret line="19" column="37" selection-start-line="19" selection-start-column="31" selection-end-line="19" selection-end-column="37" />
<folding>
<element signature="e#0#3821#0" expanded="true" />
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="1260">
<caret line="36" column="20" selection-start-line="36" selection-start-column="20" selection-end-line="36" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
@ -74,8 +58,8 @@
<file leaf-file-name="LEDControl.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/LEDControl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="7" column="20" selection-start-line="7" selection-start-column="20" selection-end-line="7" selection-end-column="20" />
<state relative-caret-position="936">
<caret line="26" column="63" selection-start-line="26" selection-start-column="63" selection-end-line="26" selection-end-column="63" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -86,8 +70,8 @@
<file leaf-file-name="Menu.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Menu.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8964">
<caret line="249" column="26" selection-start-line="249" selection-start-column="26" selection-end-line="249" selection-end-column="26" />
<state relative-caret-position="544">
<caret line="226" column="32" selection-start-line="226" selection-start-column="32" selection-end-line="226" selection-end-column="32" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -95,6 +79,68 @@
</provider>
</entry>
</file>
<file leaf-file-name="Ellipse.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/Ellipse.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="4" column="6" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Settings.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Settings.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="36">
<caret line="1" column="21" selection-start-line="1" selection-start-column="21" selection-end-line="1" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Shrink.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Shrink.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="4" column="6" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Translate.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Translate.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Camera.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Camera.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="13" column="46" selection-start-line="13" selection-start-column="46" selection-end-line="13" selection-end-column="46" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="rectangularStim.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/oldfiles/rectangularStim.java">
<provider selected="true" editor-type-id="text-editor">
<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 />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
@ -116,31 +162,31 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/Settings.java" />
<option value="$PROJECT_DIR$/src/ExampleApplet.java" />
<option value="$PROJECT_DIR$/src/Projector.java" />
<option value="$PROJECT_DIR$/src/heatup.java" />
<option value="$PROJECT_DIR$/src/TriangleClass.java" />
<option value="$PROJECT_DIR$/src/RectangleClass.java" />
<option value="$PROJECT_DIR$/lib/core.jar!/processing/core/PApplet.class" />
<option value="$PROJECT_DIR$/src/Camera.java" />
<option value="$PROJECT_DIR$/src/EllipseClass.java" />
<option value="$PROJECT_DIR$/src/Command.java" />
<option value="$PROJECT_DIR$/src/ProjectorCommand.java" />
<option value="$PROJECT_DIR$/src/MouseGetter.java" />
<option value="$PROJECT_DIR$/src/ClickGetter.java" />
<option value="$PROJECT_DIR$/src/Procedure.java" />
<option value="$PROJECT_DIR$/src/LEDControl.java" />
<option value="$PROJECT_DIR$/src/euglena_basic_stimuli.java" />
<option value="$PROJECT_DIR$/src/Ellipse.java" />
<option value="$PROJECT_DIR$/src/Rectangle.java" />
<option value="$PROJECT_DIR$/src/Calibrator.java" />
<option value="$PROJECT_DIR$/src/Line.java" />
<option value="$PROJECT_DIR$/src/Triangle.java" />
<option value="$PROJECT_DIR$/src/clearDisplay.java" />
<option value="$PROJECT_DIR$/src/Menu.java" />
<option value="$PROJECT_DIR$/src/EuglenaApplet.java" />
<option value="$PROJECT_DIR$/src/Settings.java" />
<option value="$PROJECT_DIR$/src/Line.java" />
<option value="$PROJECT_DIR$/src/LEDControl.java" />
<option value="$PROJECT_DIR$/src/ProjectorApplet.java" />
<option value="$PROJECT_DIR$/src/Camera.java" />
</list>
</option>
</component>
@ -431,26 +477,26 @@
<frame x="0" y="0" width="1596" height="1800" extended-state="4" />
<editor active="true" />
<layout>
<window_info id="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="4" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.18503937" sideWeight="0.5" order="0" 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="true" show_stripe_button="true" weight="0.40037015" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" 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="Event Log" 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="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="5" 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="9" 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.26811147" sideWeight="0.5" 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="10" side_tool="false" content_ui="tabs" />
<window_info id="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="4" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.18503937" sideWeight="0.5" order="0" 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.32879257" 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.2159031" 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="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="10" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" 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="4" side_tool="true" content_ui="tabs" />
<window_info id="Debug" 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="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" 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.4006192" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Message" 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="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" 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="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.26811147" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<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="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32879257" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" 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="3" side_tool="false" content_ui="tabs" />
</layout>
<layout-to-restore>
<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" />
@ -499,38 +545,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/EuglenaApplet.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="30" selection-start-line="0" selection-start-column="30" selection-end-line="0" selection-end-column="30" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ProjectorApplet.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1908">
<caret line="60" column="33" selection-start-line="60" selection-start-column="33" selection-end-line="60" selection-end-column="33" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#545#546#0" expanded="true" />
<element signature="e#604#605#0" expanded="true" />
<element signature="e#1744#1745#0" expanded="true" />
<element signature="e#1784#1785#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/snapshot.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
@ -552,8 +566,8 @@
<state relative-caret-position="3564">
<caret line="101" column="29" selection-start-line="101" selection-start-column="29" selection-end-line="101" selection-end-column="29" />
<folding>
<element signature="e#0#3821#0" expanded="true" />
<element signature="imports" expanded="true" />
<element signature="e#0#3821#0" expanded="false" />
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
@ -592,14 +606,10 @@
<caret line="39" column="5" selection-start-line="39" selection-start-column="5" selection-end-line="39" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -610,10 +620,10 @@
<caret line="33" column="18" selection-start-line="33" selection-start-column="8" selection-end-line="33" selection-end-column="18" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#545#546#0" expanded="true" />
<element signature="e#604#605#0" expanded="true" />
<element signature="e#1744#1745#0" expanded="true" />
<element signature="e#1784#1785#0" expanded="true" />
<element signature="e#1049#1050#0" expanded="true" />
<element signature="e#1108#1109#0" expanded="true" />
<element signature="e#2751#2752#0" expanded="true" />
<element signature="e#2791#2792#0" expanded="true" />
</folding>
</state>
</provider>
@ -633,8 +643,8 @@
<state relative-caret-position="720">
<caret line="41" column="23" selection-start-line="41" selection-start-column="23" selection-end-line="41" selection-end-column="23" />
<folding>
<element signature="e#1074#1075#0" expanded="false" />
<element signature="e#1108#1109#0" expanded="false" />
<element signature="e#1563#1564#0" expanded="false" />
<element signature="e#1597#1598#0" expanded="false" />
</folding>
</state>
</provider>
@ -654,8 +664,8 @@
<state relative-caret-position="828">
<caret line="47" column="36" selection-start-line="47" selection-start-column="36" selection-end-line="47" selection-end-column="36" />
<folding>
<element signature="e#0#3821#0" expanded="true" />
<element signature="imports" expanded="true" />
<element signature="e#0#3821#0" expanded="false" />
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
@ -674,14 +684,10 @@
<caret line="40" column="35" selection-start-line="40" selection-start-column="35" selection-end-line="40" selection-end-column="35" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -715,14 +721,10 @@
<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="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -733,14 +735,10 @@
<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="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -751,14 +749,10 @@
<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="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -769,14 +763,10 @@
<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="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -787,14 +777,10 @@
<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="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -805,14 +791,10 @@
<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="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
<element signature="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
@ -839,40 +821,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Settings.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="54">
<caret line="3" column="20" selection-start-line="3" selection-start-column="20" selection-end-line="3" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Camera.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="828">
<caret line="26" column="59" selection-start-line="26" selection-start-column="59" selection-end-line="26" selection-end-column="59" />
<folding>
<element signature="e#1074#1075#0" expanded="false" />
<element signature="e#1108#1109#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ProjectorCommand.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="36">
<caret line="1" column="4" selection-start-line="1" selection-start-column="4" selection-end-line="1" selection-end-column="4" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ClickGetter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="36">
<caret line="1" column="42" selection-start-line="1" selection-start-column="42" selection-end-line="1" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="jar://$PROJECT_DIR$/lib/core.jar!/processing/core/PApplet.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="812">
@ -881,16 +829,6 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Procedure.java" />
<entry file="file://$PROJECT_DIR$/src/Line.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="961">
<caret line="74" column="0" selection-start-line="74" selection-start-column="0" selection-end-line="74" selection-end-column="0" />
<folding>
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Triangle.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="849">
@ -908,26 +846,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Ellipse.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="8" column="20" selection-start-line="0" selection-start-column="0" selection-end-line="82" selection-end-column="0" />
<folding>
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Rectangle.java">
<provider selected="true" editor-type-id="text-editor">
<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="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/clearDisplay.java" />
<entry file="file://$PROJECT_DIR$/src/Presets.java">
<provider selected="true" editor-type-id="text-editor">
@ -961,10 +879,83 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Calibrator.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="684">
<caret line="19" column="37" selection-start-line="19" selection-start-column="31" selection-end-line="19" selection-end-column="37" />
<folding>
<element signature="e#0#3821#0" expanded="false" />
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/EuglenaApplet.java">
<provider selected="true" editor-type-id="text-editor">
<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="e#600#601#0" expanded="true" />
<element signature="e#645#646#0" expanded="true" />
<element signature="e#689#690#0" expanded="true" />
<element signature="e#726#727#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ProjectorCommand.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="17" selection-start-line="0" selection-start-column="17" selection-end-line="0" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ClickGetter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="17" selection-start-line="0" selection-start-column="17" selection-end-line="0" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Rectangle.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="4" column="6" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Translate.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Settings.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="36">
<caret line="1" column="21" selection-start-line="1" selection-start-column="21" selection-end-line="1" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Shrink.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="4" column="6" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/LEDControl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="7" column="20" selection-start-line="7" selection-start-column="20" selection-end-line="7" selection-end-column="20" />
<state relative-caret-position="936">
<caret line="26" column="63" selection-start-line="26" selection-start-column="63" selection-end-line="26" selection-end-column="63" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -973,57 +964,62 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/Menu.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8964">
<caret line="249" column="26" selection-start-line="249" selection-start-column="26" selection-end-line="249" selection-end-column="26" />
<state relative-caret-position="544">
<caret line="226" column="32" selection-start-line="226" selection-start-column="32" selection-end-line="226" selection-end-column="32" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Calibrator.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="684">
<caret line="19" column="37" selection-start-line="19" selection-start-column="31" selection-end-line="19" selection-end-column="37" />
<folding>
<element signature="e#0#3821#0" expanded="true" />
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ProjectorApplet.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1908">
<caret line="53" column="0" selection-start-line="53" selection-start-column="0" selection-end-line="53" selection-end-column="0" />
<state relative-caret-position="324">
<caret line="9" column="53" selection-start-line="9" selection-start-column="53" selection-end-line="9" selection-end-column="53" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#545#546#0" expanded="true" />
<element signature="e#604#605#0" expanded="true" />
<element signature="e#1744#1745#0" expanded="true" />
<element signature="e#1784#1785#0" expanded="true" />
<element signature="e#1049#1050#0" expanded="true" />
<element signature="e#1108#1109#0" expanded="true" />
<element signature="e#2751#2752#0" expanded="true" />
<element signature="e#2791#2792#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/EuglenaApplet.java">
<entry file="file://$PROJECT_DIR$/src/Line.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="612">
<caret line="17" column="9" selection-start-line="17" selection-start-column="9" selection-end-line="17" selection-end-column="9" />
<state relative-caret-position="1260">
<caret line="36" column="20" selection-start-line="36" selection-start-column="20" selection-end-line="36" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Camera.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="13" column="46" selection-start-line="13" selection-start-column="46" selection-end-line="13" selection-end-column="46" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#540#541#0" expanded="true" />
<element signature="e#585#586#0" expanded="true" />
<element signature="e#629#630#0" expanded="true" />
<element signature="e#666#667#0" expanded="true" />
<element signature="e#2383#2384#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2481#2482#0" expanded="true" />
<element signature="e#2524#2525#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/oldfiles/rectangularStim.java">
<provider selected="true" editor-type-id="text-editor">
<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 />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Ellipse.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="4" column="6" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>

View File

@ -5,3 +5,43 @@ This is intended for use with euglena projector + microscope systems as develope
Written in Java and using the Processing 3 library
Jan Peykiewicz (anewusername at gmail) wrote this version in mid-2016, but doesn't *really* work on this project...
I (Jan) haven't tested the below commands on windows, but they should be direct translations of the linux commands.
## Compiling
You'll need a recent JDK (eg. 1.8).
On linux,
```
cd src/
javac -cp .:../lib/*:../lib/video/library/*:../lib/serial/library/*:../lib/opencv_processing/library/* EuglenaApplet.java
```
On windows,
```
cd src\
javac -cp .;..\lib\*;..\lib\video\library\*;..\lib\serial\library\*;..\lib\opencv_processing\library\* EuglenaApplet.java
```
## Running
On linux,
```
cd src/
java -cp .:../lib/*:../lib/video/library/*:../lib/serial/library/*:../lib/opencv_processing/library/* EuglenaApplet
```
On windows,
```
cd src\
java -cp .;..\lib\*;..\lib\video\library\*;..\lib\serial\library\*;..\lib\opencv_processing\library\* EuglenaApplet
```
## Cleanup
On linux,
```rm src/*.class```
On windows,
```del src\*.class```

View File

@ -3,14 +3,28 @@ import processing.video.*;
import static processing.core.PApplet.*;
class Camera {
/*
Camera controller.
This class is mostly a wrapper around processing.video.Capture.
*/
// Camera from which we want to update
Capture cam;
// The latest image we got from the camera
PImage latestImage;
/*
Set up a camera.
*/
Camera(PApplet applet, int cameraMode) {
/*
Initialize a camera.
If you don't know what to set cameraMode to, just set it to 0
and then look at the output; this function prints out a list
of [cameraMode "1920x1080 60fps"] lines which you can use
to choose the mode you want.
*/
String[] cameras = Capture.list();
if (cameras.length == 0) {
println("There are no cameras available for capture.");
applet.exit();

View File

@ -2,6 +2,10 @@ import controlP5.ControlEvent;
import processing.core.*;
public class EuglenaApplet extends PApplet {
/*
This is the main Processing applet.
*/
final int cameraMode = 9;
final int whichArduino = 0;
@ -32,12 +36,17 @@ public class EuglenaApplet extends PApplet {
@Override
public void setup() {
/*
Applet initialization
*/
clear();
smooth();
// Initialize hardware
camera = new Camera(this, cameraMode);
ledControl = new LEDControl(this, whichArduino);
// Initialize software components
menu = new Menu(this);
// Start up projectorApplet window
@ -49,13 +58,17 @@ public class EuglenaApplet extends PApplet {
@Override
public void draw() {
/*
Draw loop
*/
//Draw the menu
menu.draw(this, ledControl);
//Update webcam and draw the updated image to the screen
camera.updateImage();
imageMode(PApplet.CORNER);
image(camera.getImage(), 0, 0, width - menu.width, height);
}
@ -77,6 +90,9 @@ public class EuglenaApplet extends PApplet {
@Override
public void keyPressed() {
/*
Key-down handler
*/
ledControl.keyPressed(key);
if (key == CODED) {
projectorApplet.calibrator.buttonPressed(keyCode);
@ -96,14 +112,23 @@ public class EuglenaApplet extends PApplet {
@Override
public void keyReleased() {
/*
Key-up handler
*/
ledControl.keyReleased(key);
}
public void controlEvent(ControlEvent theEvent) {
/*
Pass menu events to the menu component
*/
menu.controlEvent(theEvent);
}
void drawArrow(int cx, int cy, int len, float angle){
/*
Utility function for drawing an arrow
*/
pushMatrix();
translate(cx, cy);
rotate(radians(angle));
@ -114,6 +139,9 @@ public class EuglenaApplet extends PApplet {
}
void reset() {
/*
Reset the applet to a known state
*/
if (projectorApplet.calibrator.active) {
projectorApplet.calibrator.deactivate();
} else {

View File

@ -22,6 +22,10 @@ class LEDControl {
print("Using arduino ");
println(arduinos[whichArduino]);
/*
ARDUINO IS DISABLED
(since I don't always have one to test with...)
*/
// this.arduino = new Arduino(applet, arduinos[whichArduino], comRate);
//
// for (Direction dir : Direction.values()) {

View File

@ -45,7 +45,7 @@ class Line {
p.noFill();
p.line(p.convertXCoord(x1), p.convertYCoord(y1),
p.convertXCoord(x2), p.convertYCoord(y2));
p.convertXCoord(x2), p.convertYCoord(y2));
p.strokeWeight(old_strokeWeight);
p.stroke(old_strokeColor);

View File

@ -2,16 +2,32 @@ import processing.core.PApplet;
import java.util.ArrayList;
class ProjectorApplet extends PApplet {
/*
Secondary applet for controlling what gets displayed on
the projector.
This window runs as a separate thread, so in order to draw
things, you should create a ProjectorCommand and queue it
up with projectorApplet.commandQueue.add(myCommand).
*/
// Which screen should we display on?
final int projectorScreenNumber = 2;
// Center coordinates of the screen
final static int centerX = 860;
final static int centerY = 540;
// Background color
int bgColor = color(0, 0, 0);
// Pointer to the main applet
EuglenaApplet parent;
// Calibration component
Calibrator calibrator;
// Queue of commands to execute
ArrayList<ProjectorCommand> commandQueue;
ProjectorApplet(EuglenaApplet parent) {
@ -27,11 +43,21 @@ class ProjectorApplet extends PApplet {
@Override
public void setup() {
clear();
// smooth(); // Smooth might create artefacts when animating?
// smooth(); // Smooth might create artifacts when animating?
}
@Override
public void draw() {
/*
Main draw loop for the projector window
*/
/*
Exectue commands from the commandQueue.
If a command finished, mark it for removal.
If we get a ProjectorCommandException, don't execute
any further commands.
*/
ArrayList<Integer> entriesToRemove = new ArrayList<>();
try {
for (int i = 0; i < commandQueue.size(); i++) {
@ -46,21 +72,27 @@ class ProjectorApplet extends PApplet {
// Do nothing
}
// Remove entries (have to do it in reverse order to preserve indices)
// Remove finished commands (have to do it in reverse order to preserve indices)
for (int i = entriesToRemove.size() - 1; i >= 0; i--) {
commandQueue.remove(i);
}
// Let the calibration module draw anything it needs
calibrator.draw(parent);
}
public void reset() {
/*
Clear the commandQueue and the screen
*/
commandQueue.clear();
this.clear();
}
public void clear() {
/*
Clear the screen
*/
fill(bgColor);
noStroke();
rectMode(CORNER);
@ -79,6 +111,11 @@ class ProjectorApplet extends PApplet {
return bgColor;
}
/*
Functions for converting coordinates and distances from
main-window to projector-window coordinates
*/
public float convertXCoord(float x) {
return (x / calibrator.magx + width * calibrator.offsetx);
}

View File

@ -1,5 +1,5 @@
/**
*
/*
* Currently unused?
*/
public class Settings {