Created a function for inverting the values of a point, returning positive infinity for 0 values.
Created a Ray object that consists of a vector with an inverted offset, and an array of signs corresponding to the direction the ray is traveling in the x, y, and z planes.
inverse should get initialized as a point.
Created some basic tests for the point inversion function.
sign array should contain values of 1 or 0.
Created an intersect function that checks to see whether a ray intersects with a cube. This will be used for collision detection.
Added basic tests to check whether a robot will collide with a floor when driving over it, and whether it will collide with a wall when driving through it. (the ray is measured from the center of the robot)
Added base MapItem class and enumeration permeability. All map items are nonpermeable by default.
Initialized ConcreteBlock coordinate and size values.
Added base collision functionality.
Created a test to verify that a robot will collide with a wall and stop its movement.
(0.5, 0.5, 0.5) should be added to the coordinate of the moving item, not the direction of the movement ray.
Added a check to make sure that a collision occurs within the range of a ray. Otherwise a moving item collides with all items on the line that it is moving along. (And could potentially push a robot that is ten spaces away)
Updated variable names for clarity.
Mocked out the drive and used map.move directly, since this is a map test.
Merge pull request #9 from SamGraber/collision_detection

Collision detection