summaryrefslogtreecommitdiffstats
path: root/dev/a2-carsoccer/ball.h
diff options
context:
space:
mode:
authorKT <tran0563@umn.edu>2021-09-21 10:05:57 -0500
committerKT <tran0563@umn.edu>2021-09-21 10:05:57 -0500
commita75b08b76f91451bb586b154fdca872955d8a57a (patch)
treedd1c30f65162c1e12b8f6481bbd102d69f5c7196 /dev/a2-carsoccer/ball.h
parentUpload a1 (diff)
downloadcsci4611-a75b08b76f91451bb586b154fdca872955d8a57a.tar
csci4611-a75b08b76f91451bb586b154fdca872955d8a57a.tar.gz
csci4611-a75b08b76f91451bb586b154fdca872955d8a57a.tar.bz2
csci4611-a75b08b76f91451bb586b154fdca872955d8a57a.tar.lz
csci4611-a75b08b76f91451bb586b154fdca872955d8a57a.tar.xz
csci4611-a75b08b76f91451bb586b154fdca872955d8a57a.tar.zst
csci4611-a75b08b76f91451bb586b154fdca872955d8a57a.zip
publish a2
Diffstat (limited to 'dev/a2-carsoccer/ball.h')
-rw-r--r--dev/a2-carsoccer/ball.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/dev/a2-carsoccer/ball.h b/dev/a2-carsoccer/ball.h
new file mode 100644
index 0000000..0fa107e
--- /dev/null
+++ b/dev/a2-carsoccer/ball.h
@@ -0,0 +1,39 @@
+/** CSci-4611 Assignment 2: Car Soccer
+ */
+
+#ifndef BALL_H_
+#define BALL_H_
+
+#include <mingfx.h>
+using namespace mingfx;
+
+/// Small class representing the ball. Feel free to add additional member variables and functions if you wish.
+class Ball {
+public:
+
+ Ball();
+ virtual ~Ball();
+
+ // The same radius is used to draw the ball and to calculate physics for the ball
+ float radius();
+
+ // Current 3D position
+ Point3 position();
+ void set_position(const Point3 &p);
+
+ // Current 3D velocity
+ Vector3 velocity();
+ void set_velocity(const Vector3 &v);
+
+ // Resets the ball's position and velocity to initial values.
+ void Reset();
+
+ void Draw(QuickShapes quickShapes, Matrix4 modelMatrix, Matrix4 viewMatrix, Matrix4 projMatrix);
+
+private:
+ Point3 position_;
+ Vector3 velocity_;
+ float radius_;
+};
+
+#endif