62#if __cplusplus >= 201703L
70 set_position(t_position);
71 set_heading(t_heading);
76 set_position(other.position());
77 set_heading(other.heading());
82 set_position(other.position);
83 set_heading(other.heading);
86#if __cplusplus >= 201103L
89 set_position(other.position());
90 set_heading(other.heading());
95 set_position(other.position);
96 set_heading(other.heading);
108 set_position(other.position());
109 set_heading(other.heading());
119 set_position(other.position);
120 set_heading(other.heading);
124#if __cplusplus >= 201103L
127 if (&other ==
this) {
130 set_position(other.position());
131 set_heading(other.heading());
137 if (&other ==
this) {
140 set_position(other.position);
141 set_heading(other.heading);
148 return cartesianCoordinateAt(target.relativeCoordinate(cameraPivot, cameraOffset));
153 return cartesianCoordinateAt(target.relativeCoordinate(cameraPivot, cameraOffset));
158 return cartesianCoordinateAt(target.relativeCoordinate(cameraPivot, cameraOffset));
163 return fieldCoordinateAt(target.relativeCoordinate(cameraPivot, cameraOffset), targetHeading);
168 return fieldCoordinateAt(target.relativeCoordinate(cameraPivot, cameraOffset), targetHeading);
173 return fieldCoordinateAt(target.relativeCoordinate(cameraPivot, cameraOffset), targetHeading);
193 return relativeCoordinateTo(target.position());
198 return relativeCoordinateTo(target).cameraCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
203 return relativeCoordinateTo(target).cameraCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
208 return relativeCoordinateTo(target).pixelCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
213 return relativeCoordinateTo(target).pixelCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
218 return relativeCoordinateTo(target).percentCoordinate(cameraPivot, cameraOffset);
223 return relativeCoordinateTo(target).percentCoordinate(cameraPivot, cameraOffset);
228 return relativeCoordinateTo(target).clampedCameraCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
233 return relativeCoordinateTo(target).clampedCameraCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
238 return relativeCoordinateTo(target).clampedPixelCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
243 return relativeCoordinateTo(target).clampedPixelCoordinate(cameraPivot, cameraOffset, resWidth, resHeight);
248 return relativeCoordinateTo(target).clampedPercentCoordinate(cameraPivot, cameraOffset);
253 return relativeCoordinateTo(target).clampedPercentCoordinate(cameraPivot, cameraOffset);
283 return !(*
this == other);
293 return !(*
this == other);
gu_field_coordinate rr_coord_to_field_coord_from_source(const gu_relative_coordinate coord, const gu_field_coordinate source, const degrees_t heading)
gu_cartesian_coordinate rr_coord_to_cartesian_coord_from_field(const gu_relative_coordinate coord, const gu_field_coordinate source)
gu_relative_coordinate field_coord_to_rr_coord_to_target(const gu_field_coordinate source, const gu_cartesian_coordinate target)
bool gu_field_coordinate_equals(const gu_field_coordinate lhs, const gu_field_coordinate rhs)
degrees_t heading() const NOEXCEPT
~FieldCoordinate() NOEXCEPT
PixelCoordinate clampedPixelCoordinateTo(const GU::CartesianCoordinate &, const GU::CameraPivot &, const int, const pixels_u, const pixels_u) const NOEXCEPT
FieldCoordinate & operator=(const FieldCoordinate &other) NOEXCEPT
void set_heading(const degrees_t) NOEXCEPT
PercentCoordinate clampedPercentCoordinateTo(const GU::CartesianCoordinate &, const GU::CameraPivot &, const int) const NOEXCEPT
FieldCoordinate() NOEXCEPT
void set_position(const CartesianCoordinate) NOEXCEPT
PercentCoordinate percentCoordinateTo(const GU::CartesianCoordinate &, const GU::CameraPivot &, const int) const NOEXCEPT
CameraCoordinate cameraCoordinateTo(const GU::CartesianCoordinate &, const GU::CameraPivot &, const int, const pixels_u, const pixels_u) const NOEXCEPT
PixelCoordinate pixelCoordinateTo(const GU::CartesianCoordinate &, const GU::CameraPivot &, const int, const pixels_u, const pixels_u) const NOEXCEPT
CartesianCoordinate cartesianCoordinateAt(const GU::RelativeCoordinate &) const NOEXCEPT
CameraCoordinate clampedCameraCoordinateTo(const GU::CartesianCoordinate &, const GU::CameraPivot &, const int, const pixels_u, const pixels_u) const NOEXCEPT
RelativeCoordinate relativeCoordinateTo(const GU::CartesianCoordinate &) const NOEXCEPT
bool operator!=(const FieldCoordinate &other) const NOEXCEPT
bool operator==(const FieldCoordinate &other) const NOEXCEPT
CartesianCoordinate position() const NOEXCEPT
FieldCoordinate fieldCoordinateAt(const GU::RelativeCoordinate &, const degrees_t) const NOEXCEPT
A field_coordinate is a coordinate for an object that faces a certain direction (such as a robot) on ...
degrees_t heading
The direction where the object is facing.
gu_cartesian_coordinate position
The position of the object on the field.