diff --git a/README.md b/README.md index 1d5ec59..a591f42 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,27 @@ -NxtAR-core -========== +NxtAR: A generic software architecture for Augmented Reality based mobile robot control. +======================================================================================== -Modulo 2 de mi trabajo especial de grado. +Core module +----------- + +### Abstract ### + +NxtAR is a generic software architecture for the development of Augmented Reality games +and applications centered around mobile robot control. This is a reference implementation +with support for [LEGO Mindstorms NXT][1] mobile robots. + +### Module description ### + +The core module comprises all the operating system independent classes that implemente the +base architecture and the different scenarios for the application. This implementation is +designed and built around the [LibGDX][2] and the [Artemis Entity-System Framework][3] libraries. + +Currently there is one scenario titled *Bomb Game*. + +### Module installation and usage. ### + +The core module cannot be used directly. It is intended to be compiled with a LibGDX backend module. + + [1]: http://www.lego.com/en-us/mindstorms/?domainredir=mindstorms.lego.com + [2]: http://libgdx.badlogicgames.com/ + [3]: http://gamadu.com/artemis/ diff --git a/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java b/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java index 50f1c60..40761b6 100644 --- a/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java +++ b/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java @@ -5,7 +5,7 @@ import java.io.Serializable; public class MotorEvent implements Serializable{ private static final long serialVersionUID = 9989L; - public enum motor_t {NONE, MOTOR_A, MOTOR_B, MOTOR_C, MOTOR_AC, RECENTER}; + public enum motor_t {NONE, MOTOR_A, MOTOR_B, MOTOR_C, MOTOR_AC, RECENTER, ROTATE_90}; private motor_t motor; private byte power; diff --git a/src/ve/ucv/ciens/ccg/nxtar/NxtARCore.java b/src/ve/ucv/ciens/ccg/nxtar/NxtARCore.java index 315e89d..526ed65 100644 --- a/src/ve/ucv/ciens/ccg/nxtar/NxtARCore.java +++ b/src/ve/ucv/ciens/ccg/nxtar/NxtARCore.java @@ -15,21 +15,26 @@ */ package ve.ucv.ciens.ccg.nxtar; -import ve.ucv.ciens.ccg.nxtar.interfaces.ImageProcessor; -import ve.ucv.ciens.ccg.nxtar.interfaces.ApplicationEventsListener; import ve.ucv.ciens.ccg.nxtar.interfaces.ActionResolver; +import ve.ucv.ciens.ccg.nxtar.interfaces.ApplicationEventsListener; +import ve.ucv.ciens.ccg.nxtar.interfaces.ImageProcessor; import ve.ucv.ciens.ccg.nxtar.network.RobotControlThread; import ve.ucv.ciens.ccg.nxtar.network.SensorReportThread; import ve.ucv.ciens.ccg.nxtar.network.ServiceDiscoveryThread; import ve.ucv.ciens.ccg.nxtar.network.VideoStreamingThread; +import ve.ucv.ciens.ccg.nxtar.scenarios.ScenarioGlobals; +import ve.ucv.ciens.ccg.nxtar.states.AutomaticActionState; +import ve.ucv.ciens.ccg.nxtar.states.AutomaticActionSummaryState; import ve.ucv.ciens.ccg.nxtar.states.BaseState; import ve.ucv.ciens.ccg.nxtar.states.CameraCalibrationState; import ve.ucv.ciens.ccg.nxtar.states.InGameState; +import ve.ucv.ciens.ccg.nxtar.states.InstructionsState; import ve.ucv.ciens.ccg.nxtar.states.MainMenuStateBase; import ve.ucv.ciens.ccg.nxtar.states.OuyaMainMenuState; -import ve.ucv.ciens.ccg.nxtar.states.PauseState; +import ve.ucv.ciens.ccg.nxtar.states.ScenarioEndSummaryState; import ve.ucv.ciens.ccg.nxtar.states.TabletMainMenuState; import ve.ucv.ciens.ccg.nxtar.utils.ProjectConstants; +import ve.ucv.ciens.ccg.nxtar.utils.Utils; import aurelienribon.tweenengine.Tween; import aurelienribon.tweenengine.TweenEquations; import aurelienribon.tweenengine.primitives.MutableFloat; @@ -51,7 +56,7 @@ import com.badlogic.gdx.graphics.glutils.ShaderProgram; /** *

Core of the application.

* - *

This class has three basic resposibilities:

+ *

This class has three basic responsibilities:

*