RIT VEXU Core API
Loading...
Searching...
No Matches
transform2d.h
1#pragma once
2#include <Eigen/Dense>
3
4#include <cmath>
5#include <iostream>
6#include <vector>
7
8#include "core/utils/math/geometry/rotation2d.h"
9#include "core/utils/math/geometry/translation2d.h"
10
11class Pose2d;
12
23 public:
25 constexpr Transform2d();
26
34
42 Transform2d(const double &x, const double &y, const Rotation2d &rotation);
43
51 Transform2d(const double &x, const double &y, const double &radians);
52
59 Transform2d(const Translation2d &translation, const double &radians);
60
66 Transform2d(const Eigen::Vector3d &transform_vector);
67
74 Transform2d(const Pose2d &start, const Pose2d &end);
75
82
88 double x() const;
89
95 double y() const;
96
102 Rotation2d rotation() const;
103
109 Transform2d inverse() const;
110
116 Transform2d operator*(const double &scalar) const;
117
123 Transform2d operator/(const double &scalar) const;
124
130 Transform2d operator-() const;
131
139 bool operator==(const Transform2d &other) const;
140
148 friend std::ostream &operator<<(std::ostream &os, const Transform2d &transform);
149
150 private:
151 Translation2d m_translation;
152 Rotation2d m_rotation;
153};
Definition pose2d.h:24
Definition rotation2d.h:26
Transform2d inverse() const
Definition transform2d.cpp:103
friend std::ostream & operator<<(std::ostream &os, const Transform2d &transform)
Definition transform2d.cpp:146
bool operator==(const Transform2d &other) const
Definition transform2d.cpp:135
Transform2d operator/(const double &scalar) const
Definition transform2d.cpp:119
Rotation2d rotation() const
Definition transform2d.cpp:96
double x() const
Definition transform2d.cpp:82
double y() const
Definition transform2d.cpp:89
Translation2d translation() const
Definition transform2d.cpp:75
Transform2d operator*(const double &scalar) const
Definition transform2d.cpp:110
constexpr Transform2d()
Default Constructor for Transform2d.
Definition transform2d.cpp:12
Transform2d operator-() const
Definition transform2d.cpp:126
Definition translation2d.h:21