Thunderbots Project
Loading...
Searching...
No Matches
ray.h
1#pragma once
2
3#include "software/geom/point.h"
4
5class Ray final
6{
7 public:
11 explicit Ray();
12
19 explicit Ray(const Point& start, const Angle& direction);
20
27 explicit Ray(const Point& start, const Vector& direction);
28
34 const Point& getStart() const;
35
41 const Angle& getDirection() const;
42
48 void setStart(const Point& start);
49
55 void setDirection(const Angle& direction);
56
62 void setDirection(const Vector& direction);
63
69 void rotate(const Angle& angle);
70
76 Vector toUnitVector() const;
77
78 private:
82 Point start_;
83
87 Angle direction_;
88};
Definition angle.h:15
Definition point.h:14
Definition ray.h:6
Ray()
Definition ray.cpp:3
void setDirection(const Angle &direction)
Definition ray.cpp:30
const Point & getStart() const
Definition ray.cpp:15
const Angle & getDirection() const
Definition ray.cpp:20
void rotate(const Angle &angle)
Definition ray.cpp:40
void setStart(const Point &start)
Definition ray.cpp:25
Vector toUnitVector() const
Definition ray.cpp:45
Definition vector.h:12